EntitySnapshot.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <filesystem>
4 
5 // Base Class
6 #include "EntityInstance.h"
10 
12 {
13 
15  public detail::EntitySnapshotBase<EntityInstance>,
18  {
19  public:
22  const std::string&,
23  const MemoryID& id,
24  const std::shared_ptr<Processors>& p);
25 
26  bool forEachInstance(std::function<void(EntityInstance&)> func) const override;
27  bool hasInstance(const int) const override;
28  std::shared_ptr<EntityInstance> findInstance(const int) const override;
29 
30  protected:
31  void _loadAllReferences(armem::wm::EntitySnapshot&) const override;
32  void _resolve(armem::wm::EntitySnapshot&) const override;
33  void _store(const armem::wm::EntitySnapshot&) override;
34 
35  private:
36  };
37 
38 } // namespace armarx::armem::server::ltm
MongoDBStorageMixin.h
armarx::armem::server::ltm::EntitySnapshot::hasInstance
bool hasInstance(const int) const override
check if Instance segment exists
Definition: EntitySnapshot.cpp:68
armarx::armem::server::ltm::EntitySnapshot::forEachInstance
bool forEachInstance(std::function< void(EntityInstance &)> func) const override
iterate over all Instance segments of this ltm
Definition: EntitySnapshot.cpp:30
armarx::armem::server::ltm::EntitySnapshot::EntitySnapshot
EntitySnapshot(const detail::mixin::Path &, const detail::mixin::MongoDBSettings &, const std::string &, const MemoryID &id, const std::shared_ptr< Processors > &p)
Definition: EntitySnapshot.cpp:16
armarx::armem::server::ltm::EntitySnapshot::findInstance
std::shared_ptr< EntityInstance > findInstance(const int) const override
find Instance segment
Definition: EntitySnapshot.cpp:96
EntitySnapshotBase.h
armarx::armem::server::ltm::detail::EntitySnapshotBase
Interface functions for the longterm memory classes.
Definition: EntitySnapshotBase.h:17
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
EntityInstance.h
armarx::armem::wm::EntitySnapshot
Client-side working memory entity snapshot.
Definition: memory_definitions.h:80
armarx::armem::server::ltm::detail::mixin::MongoDBStorageMixin
Definition: MongoDBStorageMixin.h:45
armarx::armem::server::ltm
Definition: forward_declarations.h:20
armarx::armem::server::ltm::EntityInstance
Definition: EntityInstance.h:13
armarx::armem::server::ltm::EntitySnapshot::_store
void _store(const armem::wm::EntitySnapshot &) override
Definition: EntitySnapshot.cpp:144
armarx::armem::server::ltm::detail::mixin::MongoDBSettings
Definition: MongoDBStorageMixin.h:15
armarx::armem::server::ltm::detail::mixin::Path
std::filesystem::path Path
Definition: DiskStorageMixin.h:17
armarx::armem::server::ltm::EntitySnapshot::_loadAllReferences
void _loadAllReferences(armem::wm::EntitySnapshot &) const override
Definition: EntitySnapshot.cpp:112
armarx::armem::server::ltm::EntitySnapshot::_resolve
void _resolve(armem::wm::EntitySnapshot &) const override
Definition: EntitySnapshot.cpp:124
armarx::armem::server::ltm::EntitySnapshot
Definition: EntitySnapshot.h:14
armarx::armem::server::ltm::detail::mixin::DiskMemoryItemMixin
Definition: DiskStorageMixin.h:19
DiskStorageMixin.h