HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PDG_RegisteredType.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* COMMENTS:
7
*/
8
9
#ifndef __PDG_REGISTERED_TYPE_H__
10
#define __PDG_REGISTERED_TYPE_H__
11
12
#include "
PDG_API.h
"
13
14
#include <
PDGT/PDGT_BaseType.h
>
15
#include <
PDGT/PDGT_RegisteredType.h
>
16
#include <
PDGT/PDGT_TypeInstance.h
>
17
18
/// Enumeration of entities that can be registered with PDG_TypeRegistry
19
enum class
PDG_RegistrationType
20
{
21
/// Custom external dependency
22
eDependency
,
23
24
/// Custom node definition
25
eNode
,
26
27
/// Custom scheduler definition
28
eScheduler
,
29
30
/// Custom work item data definition
31
eWorkItem
,
32
33
/// Custom service defintion
34
eService
,
35
36
eCount
37
};
38
39
/// Base type for types registered using PDG_TypeRegistry
40
using
PDG_BaseType
=
PDGT_BaseType<PDG_RegistrationType>
;
41
42
/// Specialization type which encapsulates the produced class and
43
/// construction args, for a type registered in the registry
44
template
<
typename
Class
,
45
typename
Pointer,
46
PDG_RegistrationType
type
,
47
typename
... Args>
48
using
PDG_RegisteredType
=
PDGT_RegisteredType
<
49
Class
, Pointer,
PDG_RegistrationType
,
type
, Args...>;
50
51
/// Base class for a concrete instance of a type created by the
52
/// registry
53
using
PDG_TypeInstance
=
PDGT_TypeInstance<PDG_RegistrationType>
;
54
55
#ifdef WIN32
56
/// Explicit instantiate for base type, to avoid linker errors on windows
57
template
class
PDG_API
PDGT_BaseType<PDG_RegistrationType>
;
58
#endif
59
60
#endif
PDGT_BaseType.h
PDG_RegistrationType::eService
Custom service defintion.
PDG_RegistrationType::eWorkItem
Custom work item data definition.
PDGT_TypeInstance.h
PDG_API
#define PDG_API
Definition:
PDG_API.h:23
PDGT_BaseType
Definition:
PDGT_BaseType.h:39
SOP_AttribCombineEnums::Class
Class
Definition:
SOP_AttribCombine.proto.h:48
PDG_NodeType::eScheduler
PDGT_TypeInstance
Definition:
PDGT_TypeInstance.h:42
PDG_RegistrationType
PDG_RegistrationType
Enumeration of entities that can be registered with PDG_TypeRegistry.
Definition:
PDG_RegisteredType.h:19
PDG_API.h
PDGT_RegisteredType
Definition:
PDGT_RegisteredType.h:65
PDGT_RegisteredType.h
PDG_PortType::eCount
Port type guard/count.
PDG_RegistrationType::eDependency
Custom external dependency.
type
type
Definition:
core.h:1059
PDG_RegistrationType::eNode
Custom node definition.
PDG
PDG_RegisteredType.h
Generated on Sat Oct 12 2024 02:48:34 for HDK by
1.8.6