Allow inherited class to serialize and deserialize itself. More...
#include <iserializable.h>


Public Member Functions | |
virtual | ~ASerializable ()=default |
virtual void | serialize (QJsonObject &obj) const override=0 |
Implement this function to serialize into QJsonObject. More... | |
template<class DataType > | |
QJsonArray | serializeList (const QList< DataType * > &datalist) const |
Static Public Member Functions | |
template<typename... Args> | |
static T * | deserialize (const QJsonObject &obj, Args &...args) |
This function deserialize into a new instance of type T *. More... | |
Protected Member Functions | |
virtual void | _deserialize (const QJsonObject &obj) override=0 |
Implement this function in order to use deserialize(const QJsonObject &obj) More... | |
Additional Inherited Members | |
![]() | |
virtual | ~ISerializable ()=default |
Detailed Description
template<class T>
class dnai::interfaces::ASerializable< T >
Allow inherited class to serialize and deserialize itself.
- Template Parameters
-
T
Constructor & Destructor Documentation
|
virtualdefault |
Member Function Documentation
|
overrideprotectedpure virtual |
Implement this function in order to use deserialize(const QJsonObject &obj)
- Parameters
-
obj
Implements dnai::interfaces::ISerializable.
Implemented in dnai::models::Entity, dnai::models::ml::Dataset, dnai::models::ml::HyperParameters, dnai::models::gui::declarable::Entity< T, U >, dnai::models::gui::declarable::Entity< data::Variable, Variable >, dnai::models::gui::declarable::Entity< data::Function, Function >, dnai::models::gui::declarable::Entity< data::ListType, ListType >, dnai::models::gui::declarable::Entity< data::ObjectType, ObjectType >, dnai::models::gui::declarable::Entity< data::Context, Context >, dnai::models::gui::declarable::Entity< data::EnumType, EnumType >, dnai::models::gcore::Entity, dnai::Solution, dnai::models::Column, dnai::models::gui::declarable::ObjectType, dnai::Project, dnai::models::gui::declarable::EnumType, dnai::models::gui::declarable::Function, dnai::models::gui::Input, dnai::models::gui::Output, dnai::models::gui::Linkable, dnai::models::gui::declarable::Variable, dnai::models::gui::declarable::Context, dnai::models::gui::Instruction, dnai::models::gui::declarable::ListType, dnai::models::gui::FlowLink, dnai::models::gui::IoLink, and dnai::models::gui::Flow.
|
inlinestatic |
This function deserialize into a new instance of type T *.
- Parameters
-
obj
- Returns
|
overridepure virtual |
Implement this function to serialize into QJsonObject.
- Parameters
-
obj
Implements dnai::interfaces::ISerializable.
Implemented in dnai::models::Entity, dnai::models::ml::Dataset, dnai::models::ml::HyperParameters, dnai::models::gui::declarable::Entity< T, U >, dnai::models::gui::declarable::Entity< data::Variable, Variable >, dnai::models::gui::declarable::Entity< data::Function, Function >, dnai::models::gui::declarable::Entity< data::ListType, ListType >, dnai::models::gui::declarable::Entity< data::ObjectType, ObjectType >, dnai::models::gui::declarable::Entity< data::Context, Context >, dnai::models::gui::declarable::Entity< data::EnumType, EnumType >, dnai::models::gcore::Entity, dnai::models::Column, dnai::Solution, dnai::models::gui::declarable::ObjectType, dnai::Project, dnai::models::gui::declarable::Function, dnai::models::gui::Input, dnai::models::gui::Output, dnai::models::gui::declarable::EnumType, dnai::models::gui::declarable::Variable, dnai::models::gui::declarable::Context, dnai::models::gui::Instruction, dnai::models::gui::declarable::ListType, dnai::models::gui::FlowLink, dnai::models::gui::IoLink, and dnai::models::gui::Flow.
|
inline |
The documentation for this class was generated from the following file:
- Gui/app/include/dnai/interfaces/iserializable.h