dnai::interfaces::ASerializable< T > Class Template Referenceabstract

Allow inherited class to serialize and deserialize itself. More...

#include <iserializable.h>

Inheritance diagram for dnai::interfaces::ASerializable< T >:
Inheritance graph
Collaboration diagram for dnai::interfaces::ASerializable< T >:
Collaboration graph

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

- Private Member Functions inherited from dnai::interfaces::ISerializable
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

template<class T>
virtual dnai::interfaces::ASerializable< T >::~ASerializable ( )
virtualdefault

Member Function Documentation

template<class T>
template<typename... Args>
static T* dnai::interfaces::ASerializable< T >::deserialize ( const QJsonObject &  obj,
Args &...  args 
)
inlinestatic

This function deserialize into a new instance of type T *.

Parameters
obj
Returns
template<class T>
template<class DataType >
QJsonArray dnai::interfaces::ASerializable< T >::serializeList ( const QList< DataType * > &  datalist) const
inline

The documentation for this class was generated from the following file: