DataType::Primary Class Reference

#include <datatypebase.h>

Inheritance diagram for DataType::Primary:

Public Member Functions

 Primary ()=default
 
 Primary (const DataTypeImpl *type)
 
- 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
 
const DataTypeImploperator-> () const
 
const IdGetId () const
 
String ToString (const FormatStatement *formatStatement=nullptr) const
 
Int GetSize () const
 
Int GetAlignment () const
 
VALUEKIND GetValueKind () const
 
Bool CheckValueKind (VALUEKIND test) const
 
const DataTypeGetUnqualifiedType () const
 
const DataTypeResolveRecursiveType () const
 
const DataTypeGetUnderlyingType () const
 
const DataTypeGetElementType () const
 
const DataTypeGetDecayedType () const
 
Bool HasTypeArguments () const
 
const TypeArgumentsGetTypeArguments () const
 
const ParametricTypeInterfaceGetParametricType () const
 
const TupleDataTypeGetTupleType () 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
 
void Reset ()
 
const DataTypeImplPrivateGetPointer () 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  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 const DataTypeNullValue ()
 
static Result< DataTypeGet (const Id &typeId)
 
template<typename DEST , typename SRC >
static Result< void > AddConversion (CONVERSION_FLAGS kind, Result< void >(*conversion)(DEST &dest, const SRC &src))
 

Constructor & Destructor Documentation

◆ Primary() [1/2]

Primary ( )
default

◆ Primary() [2/2]

Primary ( const DataTypeImpl type)
explicit