16 template <
class _EntitySnapshotT>
55 _store(e, simulatedVersion);
123 std::shared_ptr<EntitySnapshotT>
129 std::shared_ptr<EntitySnapshotT>
135 std::shared_ptr<EntitySnapshotT>
141 std::shared_ptr<EntitySnapshotT>
147 std::shared_ptr<EntitySnapshotT>
153 std::shared_ptr<EntitySnapshotT>
196 virtual std::shared_ptr<EntitySnapshotT>
198 virtual std::shared_ptr<EntitySnapshotT>
200 virtual std::shared_ptr<EntitySnapshotT>
202 virtual std::shared_ptr<EntitySnapshotT>
Interface functions for the longterm memory classes.
std::shared_ptr< EntitySnapshotT > findSnapshot(const Time &time) const
find entity snapshot segment
std::shared_ptr< EntitySnapshotT > findFirstSnapshotAfterOrAt(const Time &time) const
std::shared_ptr< EntitySnapshotT > findFirstSnapshotAfter(const Time &time) const
void resolve(armem::wm::Entity &e)
convert the references of the input into a wm::Memory
virtual bool _implHasSnapshot(const Time &) const =0
bool forEachSnapshotBeforeReverse(const Time &time, std::function< bool(EntitySnapshotT &)> func) const
std::shared_ptr< EntitySnapshotT > findLatestSnapshot() const
virtual bool _implForEachSnapshotBeforeReverse(const Time &time, std::function< bool(EntitySnapshotT &)> func) const =0
virtual void _loadAllReferences(armem::wm::Entity &)=0
std::shared_ptr< EntitySnapshotT > findLatestSnapshotBefore(const Time &time) const
bool forEachSnapshotBefore(const Time &time, std::function< void(EntitySnapshotT &)> func) const
virtual bool _implForEachSnapshotInIndexRange(long first, long last, std::function< void(EntitySnapshotT &)> func) const =0
bool forEachSnapshotBeforeOrAt(const Time &time, std::function< void(EntitySnapshotT &)> func) const
void store(const armem::wm::Entity &e, bool simulatedVersion)
encode the content of a wm::Memory and store
std::shared_ptr< EntitySnapshotT > findLatestSnapshotBeforeOrAt(const Time &time) const
bool forEachSnapshotInIndexRange(long first, long last, std::function< void(EntitySnapshotT &)> func) const
void resetStatistics()
statistics
void loadAllReferences(armem::wm::Entity &e)
return the full sub-ltm as a wm::Entity with only references the ltm may be huge, use with caution
static std::string getLevelName()
virtual std::shared_ptr< EntitySnapshotT > _implFindFirstSnapshotAfterOrAt(const Time &time) const =0
virtual std::shared_ptr< EntitySnapshotT > _implFindFirstSnapshotAfter(const Time &time) const =0
virtual bool _implForEachSnapshotBefore(const Time &time, std::function< void(EntitySnapshotT &)> func) const =0
virtual std::shared_ptr< EntitySnapshotT > _implFindLatestSnapshot() const =0
bool hasSnapshot(const Time &time) const
check if snapshot segment exists
virtual std::shared_ptr< EntitySnapshotT > _implFindSnapshot(const Time &) const =0
virtual bool _implForEachSnapshotBeforeOrAt(const Time &time, std::function< void(EntitySnapshotT &)> func) const =0
virtual bool _implForEachSnapshot(std::function< void(EntitySnapshotT &)> func) const =0
bool forEachSnapshotInTimeRange(const Time &min, const Time &max, std::function< void(EntitySnapshotT &)> func) const
virtual std::shared_ptr< EntitySnapshotT > _implFindLatestSnapshotBefore(const Time &time) const =0
_EntitySnapshotT EntitySnapshotT
virtual bool _implForEachSnapshotInTimeRange(const Time &min, const Time &max, std::function< void(EntitySnapshotT &)> func) const =0
virtual void _store(const armem::wm::Entity &e, bool simulatedVersion=false)=0
Statistics getStatistics() const
bool forEachSnapshot(std::function< void(EntitySnapshotT &)> func) const
iterate over all entity snapshots of this ltm
void loadLatestNReferences(int n, armem::wm::Entity &e)
virtual void _loadLatestNReferences(int n, armem::wm::Entity &e)=0
virtual void _resolve(armem::wm::Entity &)=0
MemoryItem(const std::string &exportName, const MemoryID &)
virtual std::shared_ptr< EntitySnapshotT > _implFindLatestSnapshotBeforeOrAt(const Time &time) const =0
MemoryItem(const std::string &exportName, const MemoryID &)
Client-side working memory entity.
armarx::core::time::DateTime Time
std::vector< T > max(const std::vector< T > &v1, const std::vector< T > &v2)
std::vector< T > min(const std::vector< T > &v1, const std::vector< T > &v2)