38 #ifndef __VALUESBUFFER_HPP__
39 #define __VALUESBUFFER_HPP__
46 #include <boost/circular_buffer.hpp>
48 #include <boost/shared_ptr.hpp>
65 boost::shared_ptr<Value> m_Value;
80 m_Index(Ind),m_Value(boost::shared_ptr<
Value>(Val.clone())) {};
86 m_Index(IndValue.m_Index),m_Value(boost::shared_ptr<
Value>(IndValue.m_Value.get()->clone())) {};
137 DataContainer_t::iterator findAtIndex(
const TimeIndex_t& anIndex);
139 DataContainer_t::const_iterator findAtIndex(
const TimeIndex_t& anIndex)
const;
151 Value* getCurrentValue()
const;
157 return (!m_Data.empty() && findAtIndex(anIndex) != m_Data.end());
161 bool getCurrentValue(
Value* aValue)
const;
163 bool getLatestIndexedValue(
IndexedValue& IndValue)
const;
172 bool modifyCurrentValue(
const Value& aValue);
178 return m_Data.size();
181 void displayStatus(std::ostream& OStream)
const;
183 void displayContent(std::ostream& OStream)
const;
unsigned long long TimeIndex_t
Definition: DateTime.hpp:62
std::list< IndexedValue > IndexedValueList
Definition: ValuesBuffer.hpp:118
void clear()
Definition: ValuesBuffer.hpp:110
IndexedValue()
Definition: ValuesBuffer.hpp:73
bool isValueExist(const TimeIndex_t &anIndex) const
Definition: ValuesBuffer.hpp:155
TimeIndex_t getIndex() const
Definition: ValuesBuffer.hpp:92
Definition: ValuesBuffer.hpp:125
Definition: ValuesBufferProperties.hpp:48
Definition: NullValue.hpp:59
Value * getValue()
Definition: ValuesBuffer.hpp:104
boost::circular_buffer< IndexedValue > DataContainer_t
Definition: ValuesBuffer.hpp:130
unsigned int getValuesCount() const
Definition: ValuesBuffer.hpp:176
IndexedValue(const TimeIndex_t &Ind, const Value &Val)
Definition: ValuesBuffer.hpp:79
Definition: ValuesBuffer.hpp:57
IndexedValue(const IndexedValue &IndValue)
Definition: ValuesBuffer.hpp:85
Value * getValue() const
Definition: ValuesBuffer.hpp:98
#define DLLEXPORT
Definition: dllexport.hpp:51