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