|
template<typename T , typename C > |
| DataTypeImpl (const Id &type, const DataTypeImpl *underlying, const DataTypeImpl *element, const T *nullValue, const C *dummy, VALUEKIND flags=VALUEKIND::NONE, const NonvirtualInterfaceImplementation *impl=nullptr, VALUEKIND kind=ValueKindHelper< T, GetDirectlyReferencedType< T >::value >::KIND, const ParametricTypeInterface *pt=nullptr, const DataTypeImpl *extra=nullptr) |
|
template<typename C > |
| DataTypeImpl (const Id &type, const DataTypeImpl *underlying, const DataTypeImpl *element, const void *nullValue, Int size, Int alignment, const C *dummy, VALUEKIND kind, const ParametricTypeInterface *pt=nullptr, const DataTypeImpl *extra=nullptr) |
|
| DataTypeImpl () |
|
| DataTypeImpl (const DataTypeImpl &src, const Id &typeId, VALUEKIND qualification, const ParametricTypeInterface *pt, VALUEKIND remove=VALUEKIND::NONE, Bool copyTypeArgs=true, const DataTypeImpl *element=nullptr) |
|
template<typename T , typename C > |
| DataTypeImpl (const Id &type, const DataTypeImpl *underlying, const DataTypeImpl *element, const T *nullValue, const C *dummy, VALUEKIND flags=VALUEKIND::NONE, const NonvirtualInterfaceImplementation *impl=nullptr, VALUEKIND kind=ValueKindHelper< T, GetDirectlyReferencedType< T >::value >::KIND, const ParametricTypeInterface *pt=nullptr, const DataTypeImpl *extra=nullptr) |
|
template<typename C > |
| DataTypeImpl (const Id &type, const DataTypeImpl *underlying, const DataTypeImpl *element, const void *nullValue, Int size, Int alignment, const C *dummy, VALUEKIND kind, const ParametricTypeInterface *pt=nullptr, const DataTypeImpl *extra=nullptr) |
|
| DataTypeImpl () |
|
| DataTypeImpl (const DataTypeImpl &src, const Id &typeId, VALUEKIND qualification, const ParametricTypeInterface *pt, VALUEKIND remove=VALUEKIND::NONE, Bool copyTypeArgs=true, const DataTypeImpl *element=nullptr) |
|
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 DataTypeImpl * | GetUnqualifiedType () const |
|
const DataType & | GetUnderlyingType () const |
|
const DataType & | GetElementType () const |
|
const DataTypeImpl * | GetDecayedType () const |
|
Bool | HasTypeArguments () const |
|
const TypeArguments & | GetTypeArguments () const |
|
const ParametricTypeInterface * | GetParametricType () const |
|
const SimdInfo & | GetSimdInfo () const |
|
const NonvirtualInterfaceImplementation * | GetImplementation () const |
|
const InterfaceDefinition *const * | GetInterfaces () const |
|
const Generic * | GetNullValue () const |
|
Result< void * > | Create () const |
|
void | Construct (void *dest) const |
|
void | Construct (void *dest, Int dstride, Int count) const |
|
void | Destruct (const void *dest) const |
|
void | Destruct (const void *dest, Int dstride, Int count) const |
|
void | MoveConstruct (void *dest, void *src) const |
|
void | MoveConstruct (void *dest, Int dstride, void *src, Int sstride, Int count) const |
|
void | MoveFrom (void *dest, void *src) const |
|
void | MoveFrom (void *dest, Int dstride, void *src, Int sstride, Int count) const |
|
Result< void > | CopyFrom (void *dest, const void *src) const |
|
Result< void > | CopyFrom (void *dest, Int dstride, const void *src, Int sstride, Int count) const |
|
void | AddReference (const void *obj) const |
|
void | RemoveReference (const void *obj) const |
|
String | ToString (const void *s, const FormatStatement *formatStatement) const |
|
Bool | IsEqual (const void *s1, const void *s2, EQUALITY equality) const |
|
COMPARERESULT | Compare (const void *s1, const void *s2) const |
|
HashInt | GetHashCode (const void *s1) const |
|
UniqueHash | GetUniqueHashCode (const void *s1) const |
|
Result< void > | DescribeIO (const DataSerializeInterface &stream) const |
|
Result< void > | PrivateRegister () const |
|
void | PrivateSetStructType (const TupleDataType &tupleType, const Int *offsets) |
|
void | PrivateSetTypeArgs (StrongRef< const TypeArguments > &&args) |
|
const StrongRef< const DataTypeImpl > & | PrivateGetExtraType () const |
|
Result< void > | InitializeNullValue () |
|
|
enum class | FLAGS {
NONE
,
GLOBALLY_REFERENCED
,
OWNS_NULL_VALUE
} |
|
enum maxon::DataTypeImpl::FLAGS | MAXON_ENUM_FLAGS_CLASS (FLAGS) |
|
| ~DataTypeImpl () |
|
void | ResetRefs () |
|
void | ResetNullValue () |
|
| MAXON_DISALLOW_COPY_AND_ASSIGN (DataTypeImpl) |
|
void | AddReference () const |
|
void | RemoveReference () const |
|
const Id | _id |
|
const Int | _size |
|
const Int | _alignment |
|
VALUEKIND | _valueKind |
|
FLAGS | _flags |
|
StrongRef< const DataTypeImpl > | _underlying |
|
StrongRef< const DataTypeImpl > | _elementType |
|
StrongRef< const DataTypeImpl > | _extraType |
|
const ParametricTypeInterface * | _parametricType |
|
union { |
const NonvirtualInterfaceImplementation * _implementation |
|
const InterfaceDefinition *const * _interfaces |
|
const TypeArguments * _typeArgs |
|
} | MAXON_ENUM_FLAGS_CLASS |
|
const void * | _conversions [3] |
|
const Generic * | _nullValue |
|
void(*const | _construct )(const DataTypeImpl *type, void *dest, Int dstride, Int count) |
|
void(*const | _destruct )(const DataTypeImpl *type, const void *dest, Int dstride, Int count) |
|
void(*const | _moveConstruct )(const DataTypeImpl *type, void *dest, Int dstride, void *src, Int sstride, Int count) |
|
void(*const | _moveFrom )(const DataTypeImpl *type, void *dest, Int dstride, void *src, Int sstride, Int count) |
|
Result< void >(*const | _copyFrom )(const DataTypeImpl *type, void *dest, Int dstride, const void *src, Int sstride, Int count) |
|
void(*const | _addReference )(const DataTypeImpl *type, const void *obj) |
|
void(*const | _removeReference )(const DataTypeImpl *type, const void *obj) |
|
String(*const | _toString )(const DataTypeImpl *type, const void *s, const FormatStatement *formatStatement) |
|
Bool(*const | _isEqual )(const DataTypeImpl *type, const void *s1, const void *s2, EQUALITY equality) |
|
COMPARERESULT(*const | _compare )(const DataTypeImpl *type, const void *s1, const void *s2) |
|
HashInt(*const | _getHashCode )(const DataTypeImpl *type, const void *s1) |
|
UniqueHash(*const | _getUniqueHashCode )(const DataTypeImpl *type, const void *s1) |
|
Result< void >(* | _describeIO )(const DataTypeImpl *type, const DataSerializeInterface &stream) |
|
Result< void * >(*const | _newInstance )(const DataTypeImpl *type) |
|
Result< void >(*const | _initData )(const DataTypeImpl *type, DataMemBlock *mem) |
|
void(*const | _freeData )(const DataTypeImpl *type, DataMemBlock *mem) |
|
Result< void >(*const | _copyData )(const DataTypeImpl *type, DataMemBlock *d, const DataMemBlock *s) |
|
Result< void >(*const | _initCopyData )(const DataTypeImpl *type, DataMemBlock *d, const DataMemBlock *s) |
|
void(*const | _moveData )(const DataTypeImpl *type, DataMemBlock *d, DataMemBlock *s) |
|
void(*const | _initMoveData )(const DataTypeImpl *type, DataMemBlock *d, DataMemBlock *s) |
|
const void *(*const | _getPtr )(const DataTypeImpl *type, const DataMemBlock *s) |
|
Bool(*const | _isEqualData )(const DataTypeImpl *type, const DataMemBlock *s1, const DataMemBlock *s2, EQUALITY equality) |
|