26#ifndef __TERRALIB_ST_INTERNAL_TIMESERIESOBSERVATION_H
27#define __TERRALIB_ST_INTERNAL_TIMESERIESOBSERVATION_H
30#include "../../../datatype/DateTime.h"
31#include "../../../datatype/AbstractData.h"
34#include "../../Config.h"
40#include <boost/shared_ptr.hpp>
41#include <boost/multi_index_container.hpp>
42#include <boost/multi_index/ordered_index.hpp>
43#include <boost/multi_index/identity.hpp>
44#include <boost/multi_index/mem_fun.hpp>
47namespace te {
namespace dt {
class AbstractData;
class DateTime; } }
120 typedef boost::multi_index_container<
122 boost::multi_index::indexed_by<
124 boost::multi_index::ordered_unique<
125 boost::multi_index::identity<TimeSeriesObservation> >,
128 boost::multi_index::ordered_non_unique<
129 boost::multi_index::const_mem_fun<TimeSeriesObservation, double, &TimeSeriesObservation::getDouble> >,
132 boost::multi_index::ordered_non_unique<
133 boost::multi_index::const_mem_fun<TimeSeriesObservation, std::string, &TimeSeriesObservation::getString> >
A base class for values that can be retrieved from the data access module.
A class to represent an observation (time and value) of a time series.
te::dt::AbstractDataShrPtr m_value
te::dt::DateTime * getTime() const
It returns the date time.
~TimeSeriesObservation()
Destructor.
te::dt::AbstractData * getValue() const
It returns the value.
te::dt::DateTimeShrPtr m_time
int getInt() const
It returns the value as a integer.
bool operator<(const TimeSeriesObservation &other) const
Operator <.
TimeSeriesObservation(te::dt::DateTime *t, te::dt::AbstractData *v)
Constructor.
void setTime(te::dt::DateTime *t)
It sets the date time.
std::string getString() const
It returns the value as a string.
double getDouble() const
It returns the value as a double.
std::shared_ptr< AbstractData > AbstractDataShrPtr
boost::shared_ptr< DateTime > DateTimeShrPtr
TimeSeriesObservationSet::nth_index< 0 >::type TimeSeriesByTime
TimeSeriesObservationSet::nth_index< 1 >::type TimeSeriesByValue
boost::multi_index_container< TimeSeriesObservation, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::identity< TimeSeriesObservation > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< TimeSeriesObservation, double, &TimeSeriesObservation::getDouble > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< TimeSeriesObservation, std::string, &TimeSeriesObservation::getString > > > > TimeSeriesObservationSet
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.