FactoryFactory Class Reference

Detailed Description

Helper interface for the Create*Factory functions of Factory.

Public Types

using DataCreator = Result< Data >(const FactoryInterface *, const DataDictionary &, const DelegateBase &)
 

Static Public Member Functions

template<typename FACTORY >
static Result< typename FACTORY::NonConst > Create (typename FACTORY::DelegateType &&delegate, const DataDictionary &params=DataDictionary())
 
template<typename T >
static Result< typename Factory< T(const DataDictionary &)>::NonConst > CreateCached (typename Factory< T(const DataDictionary &)>::DelegateType &&delegate, Int size, const DataDictionary &params=DataDictionary())
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (FactoryFactory, MAXON_REFERENCE_NONE, "net.maxon.interface.factoryfactory")
 

Static Private Member Functions

static MAXON_METHOD Result< GenericFactory::NonConst > PrivateCreate (DelegateBase &&func, const DataDictionary &params)
 
static MAXON_METHOD Result< GenericFactory::NonConst > PrivateCreateCached (DelegateBase &&func, DelegateBase &&creator, Int size, const DataDictionary &params)
 
static MAXON_METHOD Result< const Data & > CreateDataCached (const FactoryInterface *factory, const DataDictionary &params, DataCreator *dc)
 
template<typename T >
static Result< DataCreateData (const FactoryInterface *factory, const DataDictionary &params, const DelegateBase &creator)
 
template<typename T >
static Result< T > CreateCachedImpl (FactoryInterface::ConstPtr factory, const DataDictionary &params)
 

Member Typedef Documentation

◆ DataCreator

using DataCreator = Result<Data>(const FactoryInterface*, const DataDictionary&, const DelegateBase&)

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( FactoryFactory  ,
MAXON_REFERENCE_NONE  ,
"net.maxon.interface.factoryfactory"   
)
private

◆ Create()

static Result<typename FACTORY::NonConst> Create ( typename FACTORY::DelegateType &&  delegate,
const DataDictionary &  params = DataDictionary() 
)
static

◆ CreateCached()

static Result<typename Factory<T(const DataDictionary&)>::NonConst> CreateCached ( typename Factory< T(const DataDictionary &)>::DelegateType &&  delegate,
Int  size,
const DataDictionary &  params = DataDictionary() 
)
static

◆ PrivateCreate()

static MAXON_METHOD Result<GenericFactory::NonConst> PrivateCreate ( DelegateBase &&  func,
const DataDictionary &  params 
)
staticprivate

◆ PrivateCreateCached()

static MAXON_METHOD Result<GenericFactory::NonConst> PrivateCreateCached ( DelegateBase &&  func,
DelegateBase &&  creator,
Int  size,
const DataDictionary &  params 
)
staticprivate

◆ CreateDataCached()

static MAXON_METHOD Result<const Data&> CreateDataCached ( const FactoryInterface factory,
const DataDictionary &  params,
DataCreator dc 
)
staticprivate

◆ CreateData()

static Result<Data> CreateData ( const FactoryInterface factory,
const DataDictionary &  params,
const DelegateBase creator 
)
staticprivate

◆ CreateCachedImpl()

static Result<T> CreateCachedImpl ( FactoryInterface::ConstPtr  factory,
const DataDictionary &  params 
)
staticprivate