29 #ifndef COBJECTHISTORY_HPP_
30 #define COBJECTHISTORY_HPP_
32 #include <sutil/CMappedList.hpp>
33 #include <sutil/CSystemClock.hpp>
65 template<
typename Idx,
typename StoreObjectsAs >
81 bool saveObject(
const Idx& arg_idx,
const StoreObjectsAs& arg_obj)
87 flag =
data_.create(arg_idx);
91 std::cerr<<
"\nCObjectHistory::addObject() : Could not create an entry for this object";
95 objl =
data_.at(arg_idx);
99 std::cerr<<
"\nCObjectHistory::addObject() : Created an entry for this object but can't access it. Invalid state.";
109 std::cerr<<
"\nCObjectHistory::addObject() : Could not timestamp and store this object";
120 {
return data_.at(arg_idx); }
125 double arg_time = -1.0)
131 std::cerr<<
"\nCObjectHistory::getObject() : Can't find object in history.";
137 {
return objl->
at(arg_time); }
139 {
return objl->
at( std::size_t(0) ); }
145 {
return data_.erase(arg_idx); }
150 double arg_time = -1)
156 std::cerr<<
"\nCObjectHistory::removeObject() : Can't find object in history.";
162 {
return objl->
erase(arg_time); }
164 {
return objl->
erase( objl->
at(std::size_t(0)) ); }
bool removeObjectTimeSeries(const Idx &arg_idx)
Definition: CObjectHistory.hpp:144
bool saveObject(const Idx &arg_idx, const StoreObjectsAs &arg_obj)
Definition: CObjectHistory.hpp:81
const StoreObjectsAs * getObject(const Idx &arg_idx, double arg_time=-1.0)
Definition: CObjectHistory.hpp:123
Definition: CMappedList.hpp:85
Definition: CObjectHistory.hpp:66
CMappedList< Idx, CMappedList< double, StoreObjectsAs > > data_
Definition: CObjectHistory.hpp:77
virtual T * at(const std::size_t arg_idx)
Definition: CMappedList.hpp:832
virtual bool erase(T *arg_t)
Definition: CMappedList.hpp:985
const CMappedList< double, StoreObjectsAs > * getObjectTimeSeries(const Idx &arg_idx)
Definition: CObjectHistory.hpp:119
CObjectHistory()
Definition: CObjectHistory.hpp:168
bool removeObject(const Idx &arg_idx, double arg_time=-1)
Definition: CObjectHistory.hpp:148
virtual T * create(const Idx &arg_idx, const bool insert_at_start=true)
Definition: CMappedList.hpp:714
~CObjectHistory()
Definition: CObjectHistory.hpp:171
static suClock getSysTime()
Definition: CSystemClock.hpp:95