lintel 0.2.0
Loading...
Searching...
No Matches
SharedMemorySegmentDto.h
Go to the documentation of this file.
1#ifndef LINTEL_SHAREDMEMORYSEGMENTDTO_H
2#define LINTEL_SHAREDMEMORYSEGMENTDTO_H
3
4#include <filesystem>
5
8
9namespace lintel {
12{
13private:
15 std::filesystem::path m_path;
17 std::string m_name;
19 std::size_t m_size;
21 bool m_isAutoExtend;
23 std::size_t m_autoExtendSize;
25 std::size_t m_maxSize;
27 bool m_isSanity;
29 std::size_t m_currentSize;
31 std::size_t m_freeSize;
33 std::size_t m_amountNamedObjects;
35 std::size_t m_amountUniqueObjects;
36
38 static struct Shapes
39 {
40 const char *const PATH = "path";
41 const char *const NAME = "name";
42 const char *const SIZE = "size";
43 const char *const AUTO_EXTEND = "auto_extend";
44 const char *const AUTO_EXTEND_SIZE = "auto_extend_size";
45 const char *const MAX_SIZE = "max_size";
46 const char *const SANITY = "sanity";
47 const char *const CURRENT_SIZE = "current_size";
48 const char *const FREE_SIZE = "free_size";
49 const char *const NAMED_OBJECTS = "named_objects";
50 const char *const UNIQUE_OBJECTS = "unique_objects";
51 } m_shape;
52
53public:
57
60
63 [[nodiscard]] const std::filesystem::path &getPath() const;
64
67 [[nodiscard]] const std::string &getName() const;
68
71 [[nodiscard]] size_t getSize() const;
72
75 [[nodiscard]] bool isAutoExtend() const;
76
79 [[nodiscard]] size_t getAutoExtendSize() const;
80
83 [[nodiscard]] size_t getMaxSize() const;
84
87 [[nodiscard]] bool isSanity() const;
88
91 [[nodiscard]] size_t getCurrentSize() const;
92
95 [[nodiscard]] size_t getFreeSize() const;
96
99 [[nodiscard]] size_t getAmountNamedObjects() const;
100
104
107 static const Shapes &getShape();
108
111 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
112
116 bool deserialize(const rapidjson::Value &obj) override;
117};
118
119}// namespace lintel
120#endif// LINTEL_SHAREDMEMORYSEGMENTDTO_H
Definition JsonSerializable.h:17
Definition SharedMemorySegmentDto.h:12
SharedMemorySegmentDto(const SharedMemorySegmentInfo &sharedMemoryInfo)
bool deserialize(const rapidjson::Value &obj) override
static const Shapes & getShape()
const std::filesystem::path & getPath() const
size_t getAmountUniqueObjects() const
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
size_t getAmountNamedObjects() const
const std::string & getName() const
Definition SharedMemorySegmentInfo.h:13
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9