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);
248 std::string getDatasetNameOfProperty(std::size_t pos)
const;
252 bool isEmpty()
const;
254 bool isConnected()
const;
256 std::size_t size()
const;
258 std::auto_ptr<te::gm::Envelope> getExtent(std::size_t i);
264 bool moveBeforeFirst();
270 bool move(std::size_t i);
272 bool isAtBegin()
const;
274 bool isBeforeBegin()
const;
276 bool isAtEnd()
const;
278 bool isAfterEnd()
const;
280 char getChar(std::size_t i)
const;
282 unsigned char getUChar(std::size_t i)
const;
284 boost::int16_t getInt16(std::size_t i)
const;
286 boost::int32_t getInt32(std::size_t i)
const;
288 boost::int64_t getInt64(std::size_t i)
const;
290 bool getBool(std::size_t i)
const;
292 float getFloat(std::size_t i)
const;
296 std::string getNumeric(std::size_t i)
const;
298 std::string getString(std::size_t i)
const;
300 std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const;
302 std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const;
304 std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const;
306 std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const;
308 std::auto_ptr<te::dt::Array> getArray(std::size_t i)
const;
310 std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
312 bool isNull(std::size_t i)
const;
320 void setChar(std::size_t i,
char value);
322 void setChar(
const std::string& name,
char value);
324 void setUChar(std::size_t i,
unsigned char value);
326 void setUChar(
const std::string& name,
unsigned char value);
328 void setInt16(std::size_t i, boost::int16_t value);
330 void setInt16(
const std::string& name, boost::int16_t value);
332 void setInt32(std::size_t i, boost::int32_t value);
334 void setInt32(
const std::string& name, boost::int32_t value);
336 void setInt64(std::size_t i, boost::int64_t value);
338 void setInt64(
const std::string& name, boost::int64_t value);
340 void setBool(std::size_t i,
bool value);
342 void setBool(
const std::string& name,
bool value);
344 void setFloat(std::size_t i,
float value);
346 void setFloat(
const std::string& name,
float value);
348 void setDouble(std::size_t i,
double value);
350 void setDouble(
const std::string& name,
double value);
352 void setNumeric(std::size_t i,
const std::string& value);
354 void setNumeric(
const std::string& name,
const std::string& value);
356 void setString(std::size_t i,
const std::string& value);
358 void setString(
const std::string& name,
const std::string& value);
384 boost::shared_ptr<boost::ptr_vector<DataSetItem> >
m_items;
396 #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.
CharEncoding
Supported charsets (character encoding).
A class that models the description of a dataset.
Configuration flags for the TerraLib In-memory Data Access driver.
std::map< int, te::common::CharEncoding > m_encodings
The list of string properties char-encoding.
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.