CoreSegment.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <filesystem>
4 
5 // Base Class
6 #include "ProviderSegment.h"
10 
12 {
13  class CoreSegment :
14  public detail::CoreSegmentBase<ProviderSegment>,
17  {
18  public:
21  const std::string&,
22  const MemoryID&,
23  const std::shared_ptr<Processors>&);
24 
25  bool forEachProviderSegment(std::function<void(ProviderSegment&)> func) const override;
26  bool hasProviderSegment(const std::string& name) const override;
27  std::shared_ptr<ProviderSegment> findProviderSegment(const std::string&) const override;
28 
29  protected:
31  void _loadLatestNReferences(int n, armem::wm::CoreSegment& c) override;
32  void _resolve(armem::wm::CoreSegment&) override;
33  void _store(const armem::wm::CoreSegment&) override;
34 
35  private:
36  };
37 
38 } // namespace armarx::armem::server::ltm
MongoDBStorageMixin.h
armarx::armem::server::ltm::ProviderSegment
Definition: ProviderSegment.h:13
armarx::armem::server::ltm::CoreSegment::_store
void _store(const armem::wm::CoreSegment &) override
Definition: CoreSegment.cpp:158
CoreSegmentBase.h
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:43
armarx::armem::server::ltm::detail::CoreSegmentBase
Interface functions for the longterm memory classes.
Definition: CoreSegmentBase.h:17
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::server::ltm::CoreSegment::hasProviderSegment
bool hasProviderSegment(const std::string &name) const override
check if provider segment exists
Definition: CoreSegment.cpp:46
armarx::armem::wm::CoreSegment
Client-side working memory core segment.
Definition: memory_definitions.h:119
armarx::armem::server::ltm::CoreSegment::_resolve
void _resolve(armem::wm::CoreSegment &) override
Definition: CoreSegment.cpp:138
ProviderSegment.h
armarx::armem::server::ltm::detail::mixin::MongoDBStorageMixin
Definition: MongoDBStorageMixin.h:45
armarx::armem::server::ltm::CoreSegment::_loadLatestNReferences
void _loadLatestNReferences(int n, armem::wm::CoreSegment &c) override
Definition: CoreSegment.cpp:111
armarx::armem::server::ltm::CoreSegment::forEachProviderSegment
bool forEachProviderSegment(std::function< void(ProviderSegment &)> func) const override
iterate over all provider segments of this ltm
Definition: CoreSegment.cpp:24
armarx::armem::server::ltm
Definition: forward_declarations.h:20
armarx::armem::server::ltm::CoreSegment
Definition: CoreSegment.h:13
armarx::armem::server::ltm::CoreSegment::CoreSegment
CoreSegment(const detail::mixin::Path &, const detail::mixin::MongoDBSettings &, const std::string &, const MemoryID &, const std::shared_ptr< Processors > &)
Definition: CoreSegment.cpp:10
armarx::armem::server::ltm::CoreSegment::_loadAllReferences
void _loadAllReferences(armem::wm::CoreSegment &) override
Definition: CoreSegment.cpp:82
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::detail::mixin::DiskMemoryItemMixin
Definition: DiskStorageMixin.h:19
DiskStorageMixin.h
armarx::armem::server::ltm::CoreSegment::findProviderSegment
std::shared_ptr< ProviderSegment > findProviderSegment(const std::string &) const override
find provider segment
Definition: CoreSegment.cpp:65
armarx::armem::server::ltm::detail::MemoryItem::name
std::string name() const
Definition: MemoryItem.cpp:43