Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::Factory< Base, Args > Struct Template Reference

#include <SGNComponent.h>

Classes

struct  Key
 
struct  Registrar
 

Public Types

using ConstructFunc = DELEGATE_STD< void, SceneGraphNode *, Args... >
 
using DestructFunc = DELEGATE_STD< void, SceneGraphNode * >
 
using FactoryContainerConstruct = ska::bytell_hash_map< ComponentType, ConstructFunc >
 
using FactoryContainerDestruct = ska::bytell_hash_map< ComponentType, DestructFunc >
 

Static Public Member Functions

template<typename... ConstructArgs>
static void construct (ComponentType type, SceneGraphNode *node, ConstructArgs &&... args)
 
static void destruct (const ComponentType type, SceneGraphNode *node)
 

Public Attributes

friend Base
 

Private Member Functions

 Factory ()=default
 

Static Private Member Functions

static FactoryContainerConstructconstructData ()
 
static FactoryContainerDestructdestructData ()
 

Detailed Description

template<typename Base, typename... Args>
struct Divide::Factory< Base, Args >

Definition at line 92 of file SGNComponent.h.

Member Typedef Documentation

◆ ConstructFunc

template<typename Base , typename... Args>
using Divide::Factory< Base, Args >::ConstructFunc = DELEGATE_STD<void, SceneGraphNode*, Args...>

Definition at line 93 of file SGNComponent.h.

◆ DestructFunc

template<typename Base , typename... Args>
using Divide::Factory< Base, Args >::DestructFunc = DELEGATE_STD<void, SceneGraphNode*>

Definition at line 94 of file SGNComponent.h.

◆ FactoryContainerConstruct

template<typename Base , typename... Args>
using Divide::Factory< Base, Args >::FactoryContainerConstruct = ska::bytell_hash_map<ComponentType, ConstructFunc>

Definition at line 95 of file SGNComponent.h.

◆ FactoryContainerDestruct

template<typename Base , typename... Args>
using Divide::Factory< Base, Args >::FactoryContainerDestruct = ska::bytell_hash_map<ComponentType, DestructFunc>

Definition at line 96 of file SGNComponent.h.

Constructor & Destructor Documentation

◆ Factory()

template<typename Base , typename... Args>
Divide::Factory< Base, Args >::Factory ( )
privatedefault

Member Function Documentation

◆ construct()

template<typename Base , typename... Args>
template<typename... ConstructArgs>
static void Divide::Factory< Base, Args >::construct ( ComponentType  type,
SceneGraphNode node,
ConstructArgs &&...  args 
)
inlinestatic

Definition at line 99 of file SGNComponent.h.

◆ constructData()

template<typename Base , typename... Args>
static FactoryContainerConstruct & Divide::Factory< Base, Args >::constructData ( )
inlinestaticprivate

Definition at line 155 of file SGNComponent.h.

◆ destruct()

template<typename Base , typename... Args>
static void Divide::Factory< Base, Args >::destruct ( const ComponentType  type,
SceneGraphNode node 
)
inlinestatic

Definition at line 103 of file SGNComponent.h.

◆ destructData()

template<typename Base , typename... Args>
static FactoryContainerDestruct & Divide::Factory< Base, Args >::destructData ( )
inlinestaticprivate

Definition at line 161 of file SGNComponent.h.

Member Data Documentation

◆ Base

template<typename Base , typename... Args>
friend Divide::Factory< Base, Args >::Base

Definition at line 140 of file SGNComponent.h.


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