MemoryItem.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
6 
8 {
9 
10  /**
11  * @brief Base class of memory classes on different levels.
12  */
13  class MemoryItem
14  {
15  public:
16  MemoryItem();
17  explicit MemoryItem(const MemoryID& id);
18 
19  MemoryItem(const MemoryItem& other) = default;
20  MemoryItem(MemoryItem&& other) = default;
21  MemoryItem& operator=(const MemoryItem& other) = default;
22  MemoryItem& operator=(MemoryItem&& other) = default;
23 
24  inline MemoryID&
25  id()
26  {
27  return _id;
28  }
29 
30  inline const MemoryID&
31  id() const
32  {
33  return _id;
34  }
35 
36 
37  protected:
38  // Protected so we get a compile error if someone tries to destruct a MemoryItem
39  // instead of a derived type.
40  ~MemoryItem();
41 
42 
43  protected:
45  };
46 
47 } // namespace armarx::armem::base::detail
armarx::armem::base::detail::MemoryItem::~MemoryItem
~MemoryItem()
Definition: MemoryItem.cpp:14
armarx::armem::base::detail::MemoryItem::id
const MemoryID & id() const
Definition: MemoryItem.h:31
armarx::armem::base::detail::MemoryItem
Base class of memory classes on different levels.
Definition: MemoryItem.h:13
MemoryID.h
armarx::armem::base::detail::MemoryItem::MemoryItem
MemoryItem()
Definition: MemoryItem.cpp:6
armarx::armem::base::detail
Definition: AronTyped.cpp:5
armarx::armem::MemoryID
A memory ID.
Definition: MemoryID.h:47
armarx::armem::base::detail::MemoryItem::operator=
MemoryItem & operator=(const MemoryItem &other)=default
armarx::armem::base::detail::MemoryItem::id
MemoryID & id()
Definition: MemoryItem.h:25
armarx::armem::base::detail::MemoryItem::_id
MemoryID _id
Definition: MemoryItem.h:44