3#include <SimoxUtility/json.h>
11 template <
class _CoreSegmentT>
23 std::lock_guard l(this->cache_mutex);
66 cache->id() =
id.getMemoryID();
72 std::lock_guard l(cache_mutex);
79 std::lock_guard l(cache_mutex);
80 return cache->hasCoreSegment(n);
86 std::lock_guard l(cache_mutex);
87 return cache->hasCoreSegment(n);
93 std::lock_guard l(cache_mutex);
94 return cache->hasProviderSegment(n);
100 std::lock_guard l(cache_mutex);
101 return cache->hasEntity(n);
107 std::lock_guard l(cache_mutex);
108 return cache->hasSnapshot(n);
114 std::lock_guard l(cache_mutex);
115 return cache->hasInstance(n);
120 std::unique_ptr<armem::wm::Memory>
cache;
123 mutable std::recursive_mutex cache_mutex;
#define ARMARX_CHECK_NOT_EMPTY(c)
A memory storing data on the hard drive and in mongodb (needs 'armarx memory start' to start the mong...
bool cacheHasEntitySnapshot(const MemoryID &n) const
bool cacheHasProviderSegment(const MemoryID &n) const
bool cacheHasEntityInstance(const MemoryID &n) const
bool cacheHasEntity(const MemoryID &n) const
bool cacheHasCoreSegment(const std::string &n) const
void configureMixin(const nlohmann::json &json)
configuration
void addToCache(const armem::wm::Memory &memory)
armem::wm::Memory getCache() const
bool cacheHasCoreSegment(const MemoryID &n) const
std::unique_ptr< armem::wm::Memory > cache
void setMixinMemoryID(const MemoryID &id)
CachedMemoryMixin(const MemoryID &id)
Client-side working memory.
Brief description of class memory.