HDK
 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>
16 #include <PDGT/PDGT_TypeInstance.h>
17 
18 /// Enumeration of entities that can be registered with PDG_TypeRegistry
20 {
21  /// Custom external dependency
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
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,
47  typename... Args>
49  Class, Pointer, PDG_RegistrationType, type, Args...>;
50 
51 /// Base class for a concrete instance of a type created by the
52 /// registry
54 
55 #ifdef WIN32
56 /// Explicit instantiate for base type, to avoid linker errors on windows
58 #endif
59 
60 #endif
Custom service defintion.
Custom work item data definition.
#define PDG_API
Definition: PDG_API.h:23
PDG_RegistrationType
Enumeration of entities that can be registered with PDG_TypeRegistry.
Port type guard/count.
Custom external dependency.
type
Definition: core.h:1059
Custom node definition.