|
HDK
|
#include <PDGT_BaseType.h>
Inheritance diagram for PDGT_BaseType< EnumType >:Public Types | |
| enum | Language { ePython, eCpp } |
| using | TypeSet = UT_Set< const PDGT_BaseType * > |
Public Member Functions | |
| PDGT_BaseType (const UT_StringHolder &type_name, const UT_StringHolder &type_label, Language lang, EnumType reg_type) | |
| virtual | ~PDGT_BaseType () |
| const UT_StringHolder & | typeName () const |
| void | setTypeName (const UT_StringHolder &name) |
| const UT_StringHolder & | typeLabel () const |
| void | setTypeLabel (const UT_StringHolder &label) |
| void | setIsPrivate (bool is_private) |
| bool | isPrivate () const |
| Language | language () const |
| EnumType | type () const |
| int | instanceCount () const |
| void | instanceCreated () const |
| void | instanceDestroyed () const |
| bool | compareType (const PDGT_BaseType *type, bool deep=true) const |
| void | addParent (const PDGT_BaseType *type, bool recurse=true) |
| virtual bool | initialize (UT_WorkBuffer &errors)=0 |
| virtual int64 | instanceMemoryUsage () const |
| virtual UT_StringHolder | displayName () const |
Protected Attributes | |
| TypeSet | myParentTypes |
| UT_StringHolder | myTypeName |
| UT_StringHolder | myTypeLabel |
| Language | myLanguage |
| SYS_AtomicInt32 | myInstanceCount |
| EnumType | myType |
| bool | myIsPrivate |
Base class for types in a PDGT-based type system. This class provides functionality that is common to all types, without needing to know about the specifics of the type or the construction arguments.
It knows: The name and human-readable label for the type The language the type is defined in (C++ or Python) The number of instances that exist The set of compatible types, e.g. things that this type can be thought of a "deriving" from.
Internally, it also knows the enum entry associated with the type. The type registration system has an enumeration of types associated with it - this is the EnumType template argument. This type corresponds to a distinct entry in that enumeration.
Definition at line 39 of file PDGT_BaseType.h.
| using PDGT_BaseType< EnumType >::TypeSet = UT_Set<const PDGT_BaseType*> |
Definition at line 48 of file PDGT_BaseType.h.
| enum PDGT_BaseType::Language |
| Enumerator | |
|---|---|
| ePython | |
| eCpp | |
Definition at line 42 of file PDGT_BaseType.h.
|
inline |
Definition at line 51 of file PDGT_BaseType.h.
|
inlinevirtual |
Definition at line 64 of file PDGT_BaseType.h.
|
inline |
Definition at line 105 of file PDGT_BaseType.h.
|
inline |
Definition at line 95 of file PDGT_BaseType.h.
|
inlinevirtual |
Definition at line 120 of file PDGT_BaseType.h.
|
pure virtual |
Implemented in PDG_NodeCallbackType, PDG_SchedulerType, PDG_ServiceType, PDG_DependencyType, and PDG_WorkItemDataType.
|
inline |
Definition at line 88 of file PDGT_BaseType.h.
|
inline |
Definition at line 90 of file PDGT_BaseType.h.
|
inline |
Definition at line 92 of file PDGT_BaseType.h.
|
inlinevirtual |
Reimplemented in PDGT_RegisteredType< Class, Pointer, EnumType, Type, Args >.
Definition at line 117 of file PDGT_BaseType.h.
|
inline |
Definition at line 79 of file PDGT_BaseType.h.
|
inline |
Definition at line 82 of file PDGT_BaseType.h.
|
inline |
Definition at line 76 of file PDGT_BaseType.h.
|
inline |
Definition at line 73 of file PDGT_BaseType.h.
|
inline |
Definition at line 68 of file PDGT_BaseType.h.
|
inline |
Definition at line 84 of file PDGT_BaseType.h.
|
inline |
Definition at line 71 of file PDGT_BaseType.h.
|
inline |
Definition at line 66 of file PDGT_BaseType.h.
|
mutableprotected |
Definition at line 133 of file PDGT_BaseType.h.
|
protected |
Definition at line 135 of file PDGT_BaseType.h.
|
protected |
Definition at line 132 of file PDGT_BaseType.h.
|
protected |
Definition at line 129 of file PDGT_BaseType.h.
|
protected |
Definition at line 134 of file PDGT_BaseType.h.
|
protected |
Definition at line 131 of file PDGT_BaseType.h.
|
protected |
Definition at line 130 of file PDGT_BaseType.h.