HDK
|
#include <PDGT_BaseType.h>
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) |
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 |
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 63 of file PDGT_BaseType.h.
|
inline |
Definition at line 98 of file PDGT_BaseType.h.
|
inline |
Definition at line 88 of file PDGT_BaseType.h.
|
inlinevirtual |
Definition at line 113 of file PDGT_BaseType.h.
|
pure virtual |
Implemented in PDG_NodeCallbackType, PDG_SchedulerType, PDG_ServiceType, PDG_DependencyType, and PDG_WorkItemDataType.
|
inline |
Definition at line 81 of file PDGT_BaseType.h.
|
inline |
Definition at line 83 of file PDGT_BaseType.h.
|
inline |
Definition at line 85 of file PDGT_BaseType.h.
|
inlinevirtual |
Reimplemented in PDGT_RegisteredType< Class, Pointer, EnumType, Type, Args >.
Definition at line 110 of file PDGT_BaseType.h.
|
inline |
Definition at line 75 of file PDGT_BaseType.h.
|
inline |
Definition at line 72 of file PDGT_BaseType.h.
|
inline |
Definition at line 67 of file PDGT_BaseType.h.
|
inline |
Definition at line 77 of file PDGT_BaseType.h.
|
inline |
Definition at line 70 of file PDGT_BaseType.h.
|
inline |
Definition at line 65 of file PDGT_BaseType.h.
|
mutableprotected |
Definition at line 126 of file PDGT_BaseType.h.
|
protected |
Definition at line 125 of file PDGT_BaseType.h.
|
protected |
Definition at line 122 of file PDGT_BaseType.h.
|
protected |
Definition at line 127 of file PDGT_BaseType.h.
|
protected |
Definition at line 124 of file PDGT_BaseType.h.
|
protected |
Definition at line 123 of file PDGT_BaseType.h.