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; } }
74 explicit DataSetItem(
const std::size_t& nproperties);
102 std::auto_ptr<DataSetItem> clone()
const;
114 std::size_t getNumProperties()
const;
119 int getPropertyDataType(std::size_t pos)
const;
124 std::string getPropertyName(std::size_t pos)
const;
129 char getChar(std::size_t i)
const;
134 void setChar(std::size_t i,
char value);
139 void setChar(
const std::string& name,
char value);
144 unsigned char getUChar(std::size_t i)
const;
149 void setUChar(std::size_t i,
unsigned char value);
154 void setUChar(
const std::string& name,
unsigned char value);
159 boost::int16_t getInt16(std::size_t i)
const;
164 void setInt16(std::size_t i, boost::int16_t value);
169 void setInt16(
const std::string& name, boost::int16_t value);
174 boost::int32_t getInt32(std::size_t i)
const;
179 void setInt32(std::size_t i, boost::int32_t value);
184 void setInt32(
const std::string& name, boost::int32_t value);
189 boost::int64_t getInt64(std::size_t i)
const;
194 void setInt64(std::size_t i, boost::int64_t value);
199 void setInt64(
const std::string& name, boost::int64_t value);
204 bool getBool(std::size_t i)
const;
209 void setBool(std::size_t i,
bool value);
214 void setBool(
const std::string& name,
bool value);
219 float getFloat(std::size_t i)
const;
224 void setFloat(std::size_t i,
float value);
229 void setFloat(
const std::string& name,
float value);
234 double getDouble(std::size_t i)
const;
239 void setDouble(std::size_t i,
double value);
244 void setDouble(
const std::string& name,
double value);
249 std::string getNumeric(std::size_t i)
const;
254 void setNumeric(std::size_t i,
const std::string& value);
259 void setNumeric(
const std::string& name,
const std::string& value);
264 std::string getString(std::size_t i)
const;
269 void setString(std::size_t i,
const std::string& value);
274 void setString(
const std::string& name,
const std::string& value);
279 std::auto_ptr<te::dt::ByteArray> getByteArray(std::size_t i)
const;
298 std::auto_ptr<te::gm::Geometry> getGeometry(std::size_t i)
const;
317 std::auto_ptr<te::rst::Raster> getRaster(std::size_t i)
const;
334 std::auto_ptr<te::dt::DateTime> getDateTime(std::size_t i)
const;
353 std::auto_ptr<te::dt::AbstractData> getValue(std::size_t i)
const;
369 bool isNull(std::size_t i)
const;
374 boost::ptr_vector<boost::nullable<te::dt::AbstractData> >
m_data;
384 return a.
clone().release();
390 #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.
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.
std::auto_ptr< DataSetItem > clone() const
It returns a clone of the DataSetItem.
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.