26 #ifndef __TERRALIB_MEMORY_INTERNAL_DATASET_H
27 #define __TERRALIB_MEMORY_INTERNAL_DATASET_H
30 #include "../dataaccess/dataset/DataSet.h"
38 #include <boost/ptr_container/ptr_vector.hpp>
39 #include <boost/shared_ptr.hpp>
104 explicit DataSet(
const DataSet& rhs,
const bool deepCopy =
false);
166 void copy(
te::da::DataSet& src,
const std::vector<std::size_t>& properties, std::size_t limit = 0);
203 void add(
const std::string& propertyName, std::size_t propertyType,
const te::dt::AbstractData* defaultValue = 0);
214 void drop(std::size_t pos);
236 std::size_t getNumProperties()
const;
238 int getPropertyDataType(std::size_t pos)
const;
240 void setPropertyDataType(
int dt, std::size_t pos);
242 std::string getPropertyName(std::size_t pos)
const;
244 void setPropertyName(
const std::string& name, std::size_t pos);
246 std::string getDatasetNameOfProperty(std::size_t pos)
const;
250 bool isEmpty()
const;
252 bool isConnected()
const;
254 std::size_t size()
const;
256 std::auto_ptr<te::gm::Envelope> getExtent(std::size_t i);
262 bool moveBeforeFirst();
268 bool move(std::size_t i);
270 bool isAtBegin()
const;
272 bool isBeforeBegin()
const;
274 bool isAtEnd()
const;
276 bool isAfterEnd()
const;
278 char getChar(std::size_t i)
const;
280 unsigned char getUChar(std::size_t i)
const;
282 boost::int16_t getInt16(std::size_t i)
const;
284 boost::int32_t getInt32(std::size_t i)
const;
286 boost::int64_t getInt64(std::size_t i)
const;
288 bool getBool(std::size_t i)
const;
290 float getFloat(std::size_t i)
const;
292 double getDouble(std::size_t i)
const;
294 std::string getNumeric(std::size_t i)
const;
296 std::string getString(std::size_t i)
const;
298 std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const;
300 std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const;
302 std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const;
304 std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const;
306 std::auto_ptr<te::dt::Array> getArray(std::size_t i)
const;
308 std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
310 bool isNull(std::size_t i)
const;
318 void setChar(std::size_t i,
char value);
320 void setChar(
const std::string& name,
char value);
322 void setUChar(std::size_t i,
unsigned char value);
324 void setUChar(
const std::string& name,
unsigned char value);
326 void setInt16(std::size_t i, boost::int16_t value);
328 void setInt16(
const std::string& name, boost::int16_t value);
330 void setInt32(std::size_t i, boost::int32_t value);
332 void setInt32(
const std::string& name, boost::int32_t value);
334 void setInt64(std::size_t i, boost::int64_t value);
336 void setInt64(
const std::string& name, boost::int64_t value);
338 void setBool(std::size_t i,
bool value);
340 void setBool(
const std::string& name,
bool value);
342 void setFloat(std::size_t i,
float value);
344 void setFloat(
const std::string& name,
float value);
346 void setDouble(std::size_t i,
double value);
348 void setDouble(
const std::string& name,
double value);
350 void setNumeric(std::size_t i,
const std::string& value);
352 void setNumeric(
const std::string& name,
const std::string& value);
354 void setString(std::size_t i,
const std::string& value);
356 void setString(
const std::string& name,
const std::string& value);
382 boost::shared_ptr<boost::ptr_vector<DataSetItem> >
m_items;
393 #endif // __TERRALIB_MEMORY_INTERNAL_DATASET_H
boost::shared_ptr< boost::ptr_vector< DataSetItem > > m_items
The list of dataset items.
boost::shared_ptr< DataSet > DataSetPtr
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
A class that models the description of a dataset.
Configuration flags for the TerraLib In-memory Data Access driver.
It models a property definition.
std::vector< int > m_ptypes
The list of property types.
AccessPolicy
Supported data access policies (can be used as bitfield).
TraverseType
A dataset can be traversed in two ways:
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
An abstract class for raster data strucutures.
std::vector< std::string > m_pnames
The list of property names.
A base class for values that can be retrieved from the data access module.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
An implementation of the DatasetItem class for the TerraLib In-Memory Data Access driver...
A dataset is the unit of information manipulated by the data access module of TerraLib.
int m_i
The index of the current item.
A class for representing binary data.