26 #ifndef __TERRALIB_MEMORY_INTERNAL_DATASETITEM_H
27 #define __TERRALIB_MEMORY_INTERNAL_DATASETITEM_H
33 #include <boost/cstdint.hpp>
34 #include <boost/ptr_container/ptr_vector.hpp>
37 namespace te {
namespace dt {
class AbstractData;
class Array;
class ByteArray;
class DateTime; } }
38 namespace te {
namespace gm {
class Geometry; } }
39 namespace te {
namespace rst {
class Raster; } }
95 std::auto_ptr<DataSetItem> clone()
const;
107 std::size_t getNumProperties()
const;
112 int getPropertyDataType(std::size_t pos)
const;
117 std::string getPropertyName(std::size_t pos)
const;
122 char getChar(std::size_t i)
const;
127 void setChar(std::size_t i,
char value);
132 void setChar(
const std::string& name,
char value);
137 unsigned char getUChar(std::size_t i)
const;
142 void setUChar(std::size_t i,
unsigned char value);
147 void setUChar(
const std::string& name,
unsigned char value);
152 boost::int16_t getInt16(std::size_t i)
const;
157 void setInt16(std::size_t i, boost::int16_t value);
162 void setInt16(
const std::string& name, boost::int16_t value);
167 boost::int32_t getInt32(std::size_t i)
const;
172 void setInt32(std::size_t i, boost::int32_t value);
177 void setInt32(
const std::string& name, boost::int32_t value);
182 boost::int64_t getInt64(std::size_t i)
const;
187 void setInt64(std::size_t i, boost::int64_t value);
192 void setInt64(
const std::string& name, boost::int64_t value);
197 bool getBool(std::size_t i)
const;
202 void setBool(std::size_t i,
bool value);
207 void setBool(
const std::string& name,
bool value);
212 float getFloat(std::size_t i)
const;
217 void setFloat(std::size_t i,
float value);
222 void setFloat(
const std::string& name,
float value);
232 void setDouble(std::size_t i,
double value);
237 void setDouble(
const std::string& name,
double value);
242 std::string getNumeric(std::size_t i)
const;
247 void setNumeric(std::size_t i,
const std::string& value);
252 void setNumeric(
const std::string& name,
const std::string& value);
257 std::string getString(std::size_t i)
const;
262 void setString(std::size_t i,
const std::string& value);
267 void setString(
const std::string& name,
const std::string& value);
272 std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const;
291 std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const;
310 std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const;
327 std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const;
346 std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
362 bool isNull(std::size_t i)
const;
367 boost::ptr_vector<boost::nullable<te::dt::AbstractData> >
m_data;
377 return a.
clone().release();
383 #endif // __TERRALIB_MEMORY_INTERNAL_DATASETITEM_H
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
Configuration flags for the TerraLib In-memory Data Access driver.
std::auto_ptr< DataSetItem > clone() const
It returns a clone of the DataSetItem.
An implementation of the DatasetItem class for the TerraLib In-Memory Data Access driver...
boost::ptr_vector< boost::nullable< te::dt::AbstractData > > m_data
The data values of the dataset item.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
A base class for values that can be retrieved from the data access module.
double getDouble(const std::string &value, std::vector< std::string > &sVector)
An abstract class for raster data strucutures.
const te::da::DataSet * m_parent
The parent dataset, if the item is associated to one.
DataSetItem * new_clone(const DataSetItem &a)
For use with boost containers.
A class for representing binary data.
A dataset is the unit of information manipulated by the data access module of TerraLib.