Go to the documentation of this file.
3 #include <SimoxUtility/json.h>
11 template <
class _CoreSegmentT>
23 std::lock_guard l(this->cache_mutex);
39 cache->id() =
id.getMemoryID();
45 std::lock_guard l(cache_mutex);
52 std::lock_guard l(cache_mutex);
53 return cache->hasCoreSegment(
n);
59 std::lock_guard l(cache_mutex);
60 return cache->hasCoreSegment(
n);
66 std::lock_guard l(cache_mutex);
67 return cache->hasProviderSegment(
n);
73 std::lock_guard l(cache_mutex);
74 return cache->hasEntity(
n);
80 std::lock_guard l(cache_mutex);
81 return cache->hasSnapshot(
n);
87 std::lock_guard l(cache_mutex);
88 return cache->hasInstance(
n);
93 std::unique_ptr<armem::wm::Memory>
cache;
96 mutable std::recursive_mutex cache_mutex;
void setMixinMemoryID(const MemoryID &id)
bool cacheHasProviderSegment(const MemoryID &n) const
#define ARMARX_CHECK_NOT_EMPTY(c)
constexpr auto n() noexcept
Brief description of class memory.
A memory storing data on the hard drive and in mongodb (needs 'armarx memory start' to start the mong...
void addToCache(const armem::wm::Memory &memory)
void configureMixin(const nlohmann::json &json)
configuration
bool cacheHasCoreSegment(const MemoryID &n) const
Client-side working memory.
bool cacheHasEntity(const MemoryID &n) const
std::unique_ptr< armem::wm::Memory > cache
CachedMemoryMixin(const MemoryID &id)
const std::string memoryName
bool cacheHasCoreSegment(const std::string &n) const
bool cacheHasEntityInstance(const MemoryID &n) const
armem::wm::Memory getCache() const
std::enable_if<!std::is_array< T >::value, std::unique_ptr< T > >::type make_unique(Args &&...args)
bool cacheHasEntitySnapshot(const MemoryID &n) const