Classes |
|
struct | DataMemBlock |
class | DataTypePtr |
class | DataTypeImpl |
class | DataTypeImpl::Primary |
class | DataTypeImpl::Instantiated |
class | DataType |
class | DataType::Primary |
class | 数据 |
struct | IsZeroInitialized< Data > |
class | ConstDataPtr |
class | ConstDataPtr::Wrapper< T, CHECK > |
class | ConstDataPtr::Wrapper< T, CHECK > |
class | DataPtr |
class | MoveDataPtr |
struct | ForwardingDataPtr |
class | AbstractDataTypeFunctions |
Namespaces |
|
maxon |
Enumerations |
|
enum |
CONVERSION_FLAGS
{
NONE , NARROWING , WIDENING_LOSSY , WIDENING_LOSSLESS , REDUCING , EXPANDING , STRUCT_CAST , ITERATION , INCONVERTIBLE , WIDENING_MASK , NARROWING_REDUCING_MASK } |
enum |
GET_DATATYPE_POLICY
{
NONE , GENERIC_FOR_UNKNOWN , ERROR_FOR_UNKNOWN , NO_DECAY , ALLOW_BASEARRAY , RESULT_FOR_UNKNOWN_MASK } |
函数 |
|
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).
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).
NO_DECAY |
Set this flag if the template argument T of GetDataType shall not be decayed (by default the type is decayed so that T&, T&&, const T, const T&, const T&& all return the same as GetDataType<T>() ).
ALLOW_BASEARRAY |
RESULT_FOR_UNKNOWN_MASK |