EnumDataType Class Reference

#include <datatypelib.h>

Inheritance diagram for EnumDataType:

Public Member Functions

const Block< const Tuple< Id, Data > > & GetEnumerators () const
 
 DataType ()=default
 
 DataType (const DataTypeImpl *ptr)
 
 DataType (std::nullptr_t)=delete
 
- Public Member Functions inherited from DataType
 DataType ()=default
 
 DataType (const DataTypeImpl *ptr)
 
 DataType (std::nullptr_t)=delete
 
 operator Bool () const
 
Bool operator== (const DataType &other) const
 
Bool operator!= (const DataType &other) const
 
HashInt GetHashCode () const
 
UniqueHash GetUniqueHashCode () const
 
const DataTypeImpl * operator-> () const
 
const Id & GetId () const
 
String ToString (const FormatStatement *formatStatement=nullptr) const
 
Int GetSize () const
 
Int GetAlignment () const
 
VALUEKIND GetValueKind () const
 
Bool CheckValueKind (VALUEKIND test) const
 
const DataType & GetUnqualifiedType () const
 
const DataType & ResolveRecursiveType () const
 
const DataType & GetUnderlyingType () const
 
const DataType & GetElementType () const
 
const DataType & GetDecayedType () const
 
Bool HasTypeArguments () const
 
const TypeArguments & GetTypeArguments () const
 
const ParametricTypeInterface * GetParametricType () const
 
const TupleDataType & GetTupleType () const
 
Result< void > AddConversion (const DataType &src, CONVERSION_FLAGS kind, Conversion &&func) const
 
Result< void > Convert (Generic &dest, const ConstDataPtr &src, CONVERSION_FLAGS ignore=CONVERSION_FLAGS::NONE) const
 
template<typename T >
void AssertType () const
 
template<typename T >
Bool Is () const
 
Bool IsCastableFrom (const DataType &other) const
 
template<typename T >
Bool IsCastableFrom () const
 
template<typename T >
Bool IsCastableTo () const
 
enum maxon::DataType::BASE_OF_MODE MAXON_ENUM_FLAGS_CLASS (BASE_OF_MODE)
 
Bool IsBaseOfOrSame (const DataType &other, BASE_OF_MODE mode=BASE_OF_MODE::NONE) const
 
Bool IsSimilar (const DataType &other) const
 
ConstDataPtr GetNullValue () const
 
void Reset ()
 
const DataTypeImpl * PrivateGetPointer () const
 
template<typename DEST , typename SRC >
Result< void > AddConversion (CONVERSION_FLAGS kind, Result< void >(*conversion)(DEST &, const SRC &))
 

Additional Inherited Members

- Public Types inherited from DataType
enum class  BASE_OF_MODE {
  NONE ,
  ORDERED_TYPE_ONLY ,
  UNORDERED_BY_NAME ,
  GENERIC_DOWNCAST
}
 
using Conversion = Delegate< Result< void >(const DataPtr &dest, const ConstDataPtr &src)>
 
- Static Public Member Functions inherited from DataType
static MAXON_ATTRIBUTE_FORCE_INLINE const DataType & NullValue ()
 
static Result< DataType > Get (const Id &typeId)
 
template<typename DEST , typename SRC >
static Result< void > AddConversion (CONVERSION_FLAGS kind, Result< void >(*conversion)(DEST &dest, const SRC &src))
 

Member Function Documentation

◆ GetEnumerators()

const Block<const Tuple<Id, Data> >& GetEnumerators ( ) const

◆ DataType() [1/3]

DataType
default

◆ DataType() [2/3]

DataType
explicit

◆ DataType() [3/3]

DataType
explicitdelete