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.
const te::da::DataSet * m_parent
The parent dataset, if the item is associated to one.
Configuration flags for the TerraLib In-memory Data Access driver.
std::auto_ptr< DataSetItem > clone() const
It returns a clone of the DataSetItem.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
An abstract class for raster data strucutures.
boost::ptr_vector< boost::nullable< te::dt::AbstractData > > m_data
The data values of the dataset item.
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.
DataSetItem * new_clone(const DataSetItem &a)
For use with boost containers.
A class for representing binary data.