Go to the documentation of this file.
16 template <
class _EntitySnapshotT>
91 virtual std::shared_ptr<EntitySnapshotT>
findSnapshot(
const Time&)
const = 0;
93 virtual std::shared_ptr<EntitySnapshotT>
95 virtual std::shared_ptr<EntitySnapshotT>
98 virtual std::shared_ptr<EntitySnapshotT>
virtual bool forEachSnapshotInIndexRange(long first, long last, std::function< void(EntitySnapshotT &)> func) const =0
static std::string getLevelName()
void resolve(armem::wm::Entity &e)
convert the references of the input into a wm::Memory
_EntitySnapshotT EntitySnapshotT
virtual void _store(const armem::wm::Entity &)=0
virtual std::shared_ptr< EntitySnapshotT > findSnapshot(const Time &) const =0
find entity snapshot segment
void resetStatistics()
statistics
void loadLatestNReferences(int n, armem::wm::Entity &e)
std::vector< T > max(const std::vector< T > &v1, const std::vector< T > &v2)
virtual std::shared_ptr< EntitySnapshotT > findFirstSnapshotAfter(const Time &time) const =0
MemoryItem(const std::string &exportName, const MemoryID &)
Statistics getStatistics() const
virtual std::shared_ptr< EntitySnapshotT > findLatestSnapshotBefore(const Time &time) const =0
virtual void _loadAllReferences(armem::wm::Entity &)=0
virtual bool hasSnapshot(const Time &) const =0
check if snapshot segment exists
virtual void _loadLatestNReferences(int n, armem::wm::Entity &e)=0
void store(const armem::wm::Entity &e)
encode the content of a wm::Memory and store
virtual std::shared_ptr< EntitySnapshotT > findFirstSnapshotAfterOrAt(const Time &time) const =0
virtual bool forEachSnapshotBeforeOrAt(const Time &time, std::function< void(EntitySnapshotT &)> func) const =0
virtual std::shared_ptr< EntitySnapshotT > findLatestSnapshot() const =0
std::recursive_mutex ltm_mutex
virtual bool forEachSnapshotBefore(const Time &time, std::function< void(EntitySnapshotT &)> func) const =0
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
virtual std::shared_ptr< EntitySnapshotT > findLatestSnapshotBeforeOrAt(const Time &time) const =0
virtual bool forEachSnapshot(std::function< void(EntitySnapshotT &)> func) const =0
iterate over all entity snapshots of this ltm
Represents a point in time.
Interface functions for the longterm memory classes.
std::vector< T > min(const std::vector< T > &v1, const std::vector< T > &v2)
virtual void _resolve(armem::wm::Entity &)=0
Client-side working memory entity.
virtual bool forEachSnapshotInTimeRange(const Time &min, const Time &max, std::function< void(EntitySnapshotT &)> func) const =0
Interface functions for the longterm memory classes.