25 #include "services/daal_defines.h"
26 #include "data_management/data/data_serialize.h"
27 #include "data_management/data/data_collection.h"
31 namespace data_management
44 class DAAL_EXPORT AbstractCreator
53 virtual ~AbstractCreator() {}
59 virtual SerializationIface *create()
const = 0;
65 virtual int getTag()
const = 0;
75 template <
class Derived>
76 class Creator :
public AbstractCreator
85 SerializationIface *create() const DAAL_C11_OVERRIDE
90 int getTag() const DAAL_C11_OVERRIDE
92 return Derived::serializationTag();
103 class DAAL_EXPORT Factory
110 static Factory &instance();
116 void registerObject(AbstractCreator *creator);
122 SerializationIface *createObject(
int objectId);
126 Factory(
const Factory &);
127 Factory &operator = (
const Factory &);
133 using interface1::AbstractCreator;
134 using interface1::Creator;
135 using interface1::Factory;
daal
Definition: algorithm_base_common.h:31
daal::data_management::interface1::Factory
Class that provides factory functionality for objects implementing the SerializationIface interface...
Definition: factory.h:103
daal::data_management::interface1::Creator
Main class used by the Factory class to register and create objects of a class derived from Serializa...
Definition: factory.h:76
daal::data_management::interface1::Creator::Creator
Creator()
Definition: factory.h:80
daal::data_management::interface1::Creator::create
SerializationIface * create() const DAAL_C11_OVERRIDE
Definition: factory.h:85
daal::data_management::interface1::Creator::getTag
int getTag() const DAAL_C11_OVERRIDE
Definition: factory.h:90
daal::data_management::interface1::AbstractCreator::AbstractCreator
AbstractCreator()
Definition: factory.h:50
daal::data_management::interface1::SerializationIface
Abstract interface class that defines the interface for serialization and deserialization.
Definition: data_serialize.h:50
daal::data_management::interface1::AbstractCreator
Interface class used by the Factory class to register and create objects of a specific class...
Definition: factory.h:44