Classes | |
struct | DataMemBlock |
class | DataTypePtr |
class | DataTypeImpl |
class | DataTypeImpl::Primary |
class | DataTypeImpl::Instantiated |
class | DataType |
class | DataType::Primary |
class | Data |
struct | IsZeroInitialized< Data > |
class | ConstDataPtr |
class | ConstDataPtr::Wrapper< T, CHECK > |
class | DataPtr |
class | MoveDataPtr |
struct | ForwardingDataPtr |
class | TrivialDataPtr |
class | AbstractDataTypeFunctions |
Namespaces | |
maxon | |
Enumerations | |
enum class | CONVERSION_FLAGS { NONE , NARROWING , WIDENING_LOSSY , WIDENING_LOSSLESS , REDUCING , EXPANDING , STRUCT_CAST , ITERATION , INCONVERTIBLE , WIDENING_MASK , NARROWING_REDUCING_MASK } |
enum class | GET_DATATYPE_POLICY { NONE , GENERIC_FOR_UNKNOWN , ERROR_FOR_UNKNOWN , RESULT_FOR_UNKNOWN_MASK } |
Functions | |
enum maxon::CONVERSION_FLAGS | MAXON_ENUM_FLAGS (CONVERSION_FLAGS) |
enum maxon::GET_DATATYPE_POLICY | MAXON_ENUM_FLAGS (GET_DATATYPE_POLICY) |
template<typename T , GET_DATATYPE_POLICY POLICY> | |
const auto & | GetDataType () |
NONE |
When no other flags are set, the conversion is a one-to-one correspondence (such as from Float to TimeValue and back).
NARROWING |
The conversion contains a narrowing conversion. The conversion may not always be possible (such as converting a negative Int to a UInt), then it returns an error.
WIDENING_LOSSY |
The conversion contains a widening conversion which is always possible, but it might result in loss of precision (a Float64 can't represent all bits of an Int64).
WIDENING_LOSSLESS |
The conversion contains a lossless widening conversion.
REDUCING |
The conversion contains a reducing conversion such as from a vector to a scalar (or a higher-dimensional vector to a lower-dimensional vector).
EXPANDING |
The conversion contains an expanding conversion such as from a scalar to a vector (or a lower-dimensional vector to a higher-dimensional vector).
STRUCT_CAST |
The conversion contains a cast between layout-compatible structs (such as from Vector to Color).
ITERATION |
The conversion contains an iteration over a collection (such as from a Vector-array to Vector).
INCONVERTIBLE |
No conversion possible.
WIDENING_MASK |
Mask to check for a widening conversion (combination of WIDENING_LOSSY and WIDENING_LOSSLESS).
NARROWING_REDUCING_MASK |
Mask to check for a narrowing or reducing conversion (combination of NARROWING and REDUCING).
GLOBALLY_REFERENCED |
The data type is globally referenced and AddReference() and RemoveReference() should not access its reference counter.
OWNS_NULL_VALUE |
ORDERED_TYPE_ONLY |
When tuple or container types are compared, members have to match only in order and type, their names are ignored.
UNORDERED_BY_NAME |
When tuple or container types are compared, members are matched by name, so their order is ignored.
GENERIC_DOWNCAST |
Consider the instantiation of a generic type the same as the generic type.
GENERIC_FOR_UNKNOWN |
Set this flag if the datatype of Generic shall be returned for a type which hasn't been registered (otherwise a compile-time error happens unless ERROR_FOR_UNKNOWN is set).
ERROR_FOR_UNKNOWN |
Set this flag if a runtime error shall be returned by CheckedGetDataType for a type which hasn't been registered (otherwise a compile-time error happens unless GENERIC_FOR_UNKNOWN is set).
RESULT_FOR_UNKNOWN_MASK |