27 #include "../../geometry/Envelope.h" 34 : m_ds(dataset, isOwner),
35 m_positions(positions),
36 m_i(
std::string::npos)
44 const std::vector<std::size_t>& positions,
bool isOwner)
45 :
m_ds(dataset, isOwner),
59 return m_ds->getTraverseType();
64 return m_ds->getAccessPolicy();
69 return m_ds->getExtent(i);
74 return m_ds->getNumProperties();
79 return m_ds->getPropertyDataType(i);
84 return m_ds->getPropertyName(i);
89 return m_ds->getDatasetNameOfProperty(i);
99 return m_ds->isConnected();
117 return move(static_cast<std::size_t>(
m_i));
124 if(!
m_ds->moveNext())
135 if(
m_i == std::string::npos)
138 return move(static_cast<std::size_t>(
m_i));
143 m_i = std::string::npos;
173 return m_i == std::string::npos;
188 int m_ii =
static_cast<int>(
m_i),
189 s = static_cast<int>(
size());
191 return m_ii > -1 && m_ii < s;
196 return m_ds->getChar(i);
201 return m_ds->getUChar(i);
206 return m_ds->getInt16(i);
211 return m_ds->getInt32(i);
216 return m_ds->getInt64(i);
221 return m_ds->getBool(i);
226 return m_ds->getFloat(i);
231 return m_ds->getDouble(i);
236 return m_ds->getNumeric(i);
241 return m_ds->getString(i);
246 return m_ds->getByteArray(i);
251 return m_ds->getGeometry(i);
256 return m_ds->getRaster(i);
261 return m_ds->getDateTime(i);
266 return m_ds->getArray(i);
271 return m_ds->isNull(i);
FilteredDataSet(DataSet *dataset, const std::vector< std::size_t > &positions, bool isOwner=false)
Constructor.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
std::unique_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
std::string getPropertyName(std::size_t i) const
It returns the property name at position pos.
bool moveFirst()
It moves the internal pointer to the first item in the collection.
~FilteredDataSet()
Destructor.
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
std::vector< std::size_t > m_positions
The data set positions that actually will be accessed.
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
DataSetCapabilities m_capabilites
A class that informs what the dataset implementation of a given data source can perform.
std::size_t size() const
It returns the collection size, if it is known.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
bool isPositionValid() const
It tells if the dataset internal pointer is on a valid position.
std::string getDatasetNameOfProperty(std::size_t i) const
It returns the underlying dataset name of the property at position pos.
bool supportsEfficientMove() const
boost::int64_t getInt64(std::size_t i) const
Method for retrieving a 64-bit integer attribute value (8 bytes long).
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
bool moveNext()
It moves the internal pointer to the next item of the collection.
te::da::DataSourceCapabilities capabilities
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
std::unique_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
A dataset is the unit of information manipulated by the data access module of TerraLib.
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not...
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
te::common::Holder< DataSet > m_ds
A pointer to the DataSet that will be filtered.
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
bool movePrevious()
It moves the internal pointer to the previous item of the collection.
std::unique_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
std::unique_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
bool isEmpty() const
It returns true if the collection is empty.
std::unique_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
int getPropertyDataType(std::size_t i) const
It returns the underlying data type of the property at position pos.
double getDouble(std::size_t i) const
Method for retrieving a double attribute value.
std::unique_ptr< te::gm::Geometry > getGeometry(std::size_t i) const
Method for retrieving a geometric attribute value.
This class represents a filtered data set.
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.