datatypebase.h File Reference

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
  NARROWING
  WIDENING_LOSSY
  WIDENING_LOSSLESS
  REDUCING
  EXPANDING
  STRUCT_CAST
  ITERATION
  INCONVERTIBLE
  WIDENING_MASK
  NARROWING_REDUCING_MASK
  ORDERED_TYPE_ONLY
  UNORDERED_BY_NAME
  GENERIC_DOWNCAST
  GENERIC_FOR_UNKNOWN
  ERROR_FOR_UNKNOWN
  NO_DECAY
  ALLOW_BASEARRAY
  RESULT_FOR_UNKNOWN_MASK

Variable Documentation

◆  NONE

NONE

When no other flags are set, the conversion is a one-to-one correspondence (such as from Float to TimeValue and back).

◆  NARROWING

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

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

WIDENING_LOSSLESS

The conversion contains a lossless widening conversion.

◆  REDUCING

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

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

STRUCT_CAST

The conversion contains a cast between layout-compatible structs (such as from Vector to Color).

◆  ITERATION

ITERATION

The conversion contains an iteration over a collection (such as from a Vector-array to Vector).

◆  INCONVERTIBLE

INCONVERTIBLE

No conversion possible.

◆  WIDENING_MASK

WIDENING_MASK

Mask to check for a widening conversion (combination of WIDENING_LOSSY and WIDENING_LOSSLESS).

◆  NARROWING_REDUCING_MASK

NARROWING_REDUCING_MASK

Mask to check for a narrowing or reducing conversion (combination of NARROWING and REDUCING).

◆  ORDERED_TYPE_ONLY

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

UNORDERED_BY_NAME

When tuple or container types are compared, members are matched by name, so their order is ignored.

◆  GENERIC_DOWNCAST

GENERIC_DOWNCAST

Consider the instantiation of a generic type the same as the generic type.

◆  GENERIC_FOR_UNKNOWN

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

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

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

ALLOW_BASEARRAY

◆  RESULT_FOR_UNKNOWN_MASK

RESULT_FOR_UNKNOWN_MASK