Eile Mit Weile
Loading...
Searching...
No Matches
serializable.hpp
1// abstract class for a serializable object.
2
3#ifndef EILE_MIT_WEILE_SERIALIZABLE_HPP
4#define EILE_MIT_WEILE_SERIALIZABLE_HPP
5
6
7#include "rapidjson/document.h"
8#include "common/exceptions/EileMitWeileException.hpp"
9
18public:
19 [[nodiscard]] virtual rapidjson::Document* ToJson() const {
20 auto* json = new rapidjson::Document();
21 json->SetObject();
22 this->WriteIntoJson(*json, json->GetAllocator());
23 return json;
24 }
25
26 virtual void WriteIntoJson(rapidjson::Value& json, rapidjson::Document::AllocatorType& allocator) const = 0;
27};
28#endif //EILE_MIT_WEILE_SERIALIZABLE_HPP
Abstract Base Class for a serializable object.
Definition serializable.hpp:17
virtual rapidjson::Document * ToJson() const
Definition serializable.hpp:19
virtual void WriteIntoJson(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator) const =0