lintel 0.2.0
Loading...
Searching...
No Matches
PropertiesDto.h
Go to the documentation of this file.
1#ifndef LINTEL_PROPERTIESDTO_H
2#define LINTEL_PROPERTIESDTO_H
3
4#include <memory>
5#include <string>
6#include <vector>
7
11
12namespace lintel {
15{
16private:
17 std::vector<PropertyDto> m_properties;
18
20 static std::vector<PropertyDto> build(const std::vector<std::shared_ptr<PropertyBase>> &properties);
21
22public:
24 explicit PropertiesDto(const std::vector<std::shared_ptr<PropertyBase>> &properties);
25
26 PropertiesDto() = default;
27
29 [[nodiscard]] const std::vector<PropertyDto> &getProperties() const;
30
31 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
32
33 void deserialize(const std::string &json) override;
34};
35
36}// namespace lintel
37#endif// LINTEL_PROPERTIESDTO_H
Definition JsonSerializable.h:17
Definition PropertiesDto.h:15
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
const std::vector< PropertyDto > & getProperties() const
void deserialize(const std::string &json) override
PropertiesDto(const std::vector< std::shared_ptr< PropertyBase > > &properties)
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9