Enumeration types define the enumerator names and values of Enumerations with a name matching that of the Enumeration type. More...
Enumeration types define the enumerator names and values of Enumerations with a name matching that of the Enumeration type.
An Enumeration type provides a String-type name, a list of enumerator names (list of Strings) and a list of enumerator values (list of Integer objects). To use Enumeration types for creating Enumeration objects, they must be added to the Type Manager. Alternatively, if an Enumeration is created without a matching Enumeration type in the manager, a default Enumeration type is generated based on the enumerator names and values of the created Enumeration object. This generated Enumeration type is then added to the Type Manager.
The enumerator values are represented as a list of Integer objects. These values can be explicitly specified during Enumeration type creation, or only the first enumerator value can be specified, with the rest automatically assigned in ascending order, starting from that value (or from the default '0' value if not specified).
Public Member Functions | |
ListPtr< IString > | getEnumeratorNames () const |
Gets the list of enumerator names. More... | |
DictPtr< IString, IInteger > | getAsDictionary () const |
Gets the enumerator names and values as a Dictionary. More... | |
Int | getEnumeratorIntValue (const StringPtr &name) const |
Gets the value of enumerator with the specified name. More... | |
SizeT | getCount () const |
Gets the number of enumerators within the Enumeration Type. More... | |
![]() | |
StringPtr | getName () const |
Gets the name of the Type. More... | |
![]() | |
ObjectPtr () | |
Creates a smart pointer with no wrapped interface. | |
ObjectPtr (std::nullptr_t) | |
Creates a smart pointer with no wrapped interface. | |
ObjectPtr (const ObjectPtr< T > &objPtr) | |
Creates a smart pointer from another smart pointer. More... | |
ObjectPtr (ObjectPtr< T > &&objPtr) noexcept | |
Creates a smart pointer from another smart pointer with move semantics. More... | |
template<class U > | |
ObjectPtr (const ObjectPtr< U > &objPtr) | |
Creates a smart pointer from another smart pointer of a different interface type. More... | |
template<class U > | |
ObjectPtr (ObjectPtr< U > &&objPtr) | |
Creates a smart pointer from another smart pointer of a different interface type with move semantics. More... | |
ObjectPtr (T *&obj) | |
Creates a smart pointer from an interface pointer. More... | |
ObjectPtr (T *&&obj) | |
Creates a smart pointer from an interface pointer with move semantics. More... | |
ObjectPtr (IWeakRef *obj) | |
Creates a smart pointer from a weak reference interface pointer. More... | |
ObjectPtr (const wchar_t *value) | |
Creates a string object smart pointer from UTF16 null terminated sequence. More... | |
ObjectPtr (ConstCharPtr value) | |
Creates a string object smart pointer from UTF8 null terminated sequence. More... | |
template<typename U , std::enable_if_t< is_ct_conv< U >::value &&!std::is_enum_v< U >, int > = 0> | |
ObjectPtr (const U &value) | |
Creates a smart pointer wrapper from value type. More... | |
virtual | ~ObjectPtr () |
Destructor. More... | |
bool | equals (ObjectPtr< IBaseObject > other) const |
Compares object to another object for equality. More... | |
T * | detach () |
Disassociates this smart pointer object from the interface that it represents. More... | |
void | dispose () const |
Disposes all references held by the object. More... | |
void | release () |
Resets the wrapped interface to nullptr. More... | |
T * | addRefAndReturn () const |
Increments the reference count and returns the interface. More... | |
operator T* () const | |
Casts the pointer to the wrapped interface. More... | |
bool | assigned () const |
Checks if the smart pointer is not empty. | |
T * | getObject () const |
Gets the pointer to the wrapped interface. More... | |
T ** | addressOf () |
Gets the address of the pointer to the wrapped interface. More... | |
T ** | operator& () |
Gets the address of the pointer to the wrapped interface. More... | |
template<class U > | |
U * | as (bool borrow=false) const |
Casts the wrapped interface to another interface. More... | |
template<class U > | |
U * | asOrNull (bool borrow=false) const |
Casts the wrapped interface to another interface. More... | |
template<class U , class Ptr = typename InterfaceToSmartPtr<U>::SmartPtr> | |
Ptr | asPtr (bool borrow=false) const |
Casts the wrapped interface to another interface and wraps in a smart pointer. More... | |
template<class U , class Ptr = typename InterfaceToSmartPtr<U>::SmartPtr> | |
Ptr | asPtrOrNull (bool borrow=false) const |
Casts the wrapped interface to another interface and wraps in a smart pointer. More... | |
template<class U > | |
bool | supportsInterface () const |
Checks if the wrapped interface supports another interface. More... | |
bool | supportsInterface (const IntfID &id) const |
Checks if the wrapped interface supports another interface using the interface ID. More... | |
CoreType | getCoreType () const |
Gets the object's CoreType . More... | |
ObjectPtr< IBaseObject > | convertTo (CoreType ct) const |
Converts the object to the specified CoreType . More... | |
SizeT | getHashCode () const |
Returns hash code of the object. More... | |
ObjectPtr< IString > | toString () const |
Converts the object to the string object. More... | |
void | freeze () const |
Freezes the object. More... | |
Bool | isFrozen () const |
Checks if the object is frozen. More... | |
void | dispatch (const ObjectPtr< IBaseObject > ¶ms) const |
Calls the stored callback. More... | |
void | dispatch () const |
Calls the stored callback without any parameters. More... | |
void | execute () const |
Calls the stored callback without any parameters. More... | |
template<typename... Params> | |
void | execute (Params... params) const |
Calls the stored callback. More... | |
template<typename... Params> | |
ObjectPtr< IBaseObject > | call (Params... params) const |
Calls the stored callback and returns the result. More... | |
bool | isBorrowed () const |
Checks if the reference is borrowed. More... | |
Additional Inherited Members | |
![]() | |
template<class U = T> | |
static InterfaceToSmartPtr< U >::SmartPtr | Borrow (T *&obj) |
Borrows an interface. More... | |
template<typename U = T> | |
static InterfaceToSmartPtr< U >::SmartPtr | Adopt (T *obj) |
Adopts an interface. More... | |
template<class U , class V = T, std::enable_if_t< std::is_base_of_v< IBaseObject, U >, int > = 0> | |
static InterfaceToSmartPtr< V >::SmartPtr | Borrow (U *&obj) |
Borrows an interface from the interface of another type. More... | |
static Bool | Equals (const ObjectPtr< IBaseObject > &a, const ObjectPtr< IBaseObject > &b) |
Value based comparison of two objects. If both objects are nullptr, they are considered to be equal. More... | |
Gets the enumerator names and values as a Dictionary.
|
inline |
Gets the number of enumerators within the Enumeration Type.
|
inline |
Gets the value of enumerator with the specified name.
name | The name of the enumerator (String object). |