Main include file
Namespaces | |
maxon | |
std | |
std::maxon_std | |
maxon::details | |
Typedefs | |
using | Int16 = int16_t |
using | UInt16 = uint16_t |
using | Int32 = int32_t |
using | UInt32 = uint32_t |
using | Int64 = int64_t |
using | UInt64 = uint64_t |
using | Bool = bool |
using | Float32 = float |
using | Float64 = double |
using | Char = char |
using | UChar = unsigned char |
using | Int = Int64 |
using | UInt = UInt64 |
using | Float = Float64 |
using | Byte = std::byte |
using | Utf32Char = char32_t |
using | Utf16Char = char16_t |
using | SysChar = char |
using | HashInt = UInt |
using | OverloadRank0 = PrivateOverloadRank0 * |
using | OverloadRank1 = PrivateOverloadRank1 * |
using | OverloadRank2 = PrivateOverloadRank2 * |
using | OverloadRank3 = PrivateOverloadRank3 * |
using | OverloadRank4 = PrivateOverloadRank4 * |
using | OverloadRank5 = PrivateOverloadRank5 * |
using | OverloadRankMax = OverloadRank5 |
template<typename T , Int N> | |
using | AddArrayT = T[N] |
template<typename T > | |
using | AddArrayOfUnknownBoundT = T[] |
template<typename TO , typename FROM , Bool SAFE> | |
using | GenericCastReturnType = std::enable_if< GenericCastTrait< TO, typename maxon::details::MakeLValueConst< FROM >::type, SAFE >::value, typename GenericCastTrait< TO, typename maxon::details::MakeLValueConst< FROM >::type, SAFE >::ReturnType > |
using | InitMTable = void(*)() |
using | DestructorPointer = void(*)(const void *) |
using | BoolLValue = DefaultLValue< Bool > |
Functions | |
__attribute__ ((always_inline)) const expr Float operator""_f(long double f) | |
template<typename T > | |
__attribute__ ((always_inline)) auto AssignCopy(T &dst | |
const String & | StringInterface_GetAndCacheConstString (const wchar_t *str, Int len) |
const String & | StringInterface_GetAndCacheConstString (const Char *str, Int len, Int isUtf8) |
constexpr Bool | PrivateIsUtf8 (const char *str, Int len) |
template<typename T > | |
String | GlobalToString (const T &object, const FormatStatement *formatStatement, Bool checkDataType=true) |
template<typename T , typename E > | |
E && | MakeDependentExpr (E &&value) |
template<typename T > | |
T * | addressof (T &x) |
enum maxon::ENUM_DONT_INITIALIZE | MAXON_ENUM_LIST (ENUM_DONT_INITIALIZE) |
enum maxon::IN_PLACE_TYPE | MAXON_ENUM_LIST (IN_PLACE_TYPE) |
template<typename T > | |
std::enable_if<(sizeof(T) > 0), std::true_type >::type | IsCompleteHelper (T *) |
std::false_type | IsCompleteHelper (...) |
template<typename TO , typename FROM > | |
GenericCastReturnType< TO, FROM, false >::type | GenericReinterpretCast (FROM &&value) |
template<typename TO , typename FROM > | |
GenericCastReturnType< TO, FROM, true >::type | GenericUpCast (FROM &&value) |
template<typename T , Bool ALLOW_NONCONST = false> | |
T | DefaultValue () |
constexpr Bool | CheckImplementationModule (const void *, maxon::Char) |
template<typename T > | |
constexpr Bool | CheckImplementationModule (T *, decltype(T::PrivateImplementationModule[0])) |
Helper (OverloadRank2, T &obj MAXON_MAKE_LIST(PRIVATE_MAXON_DETECT_MEMBER_HELPER1,,,,)) -> decltype(obj. GetMemorySize(MAXON_MAKE_COMMA_LIST(PRIVATE_MAXON_DETECT_MEMBER_HELPER2,,,))) | |
Helper (OverloadRank1, T &obj MAXON_MAKE_LIST(PRIVATE_MAXON_DETECT_MEMBER_HELPER1,,,,)) -> decltype(GetMemorySize(obj MAXON_MAKE_LIST(PRIVATE_MAXON_DETECT_MEMBER_HELPER3,,,,))) | |
Helper (T &obj MAXON_MAKE_LIST(PRIVATE_MAXON_DETECT_MEMBER_HELPER1,,,,)) -> decltype(MAXON_CONCAT(GetMemorySize, Helper)(((maxon::OverloadRankMax) nullptr), obj MAXON_MAKE_LIST(PRIVATE_MAXON_DETECT_MEMBER_HELPER3,,,,))) | |
template<typename X > | |
T & | __attribute__ ((always_inline)) void UseVariable(X &&var) |
enum maxon::VALUEKIND UInt64 | MAXON_ENUM_ORDERED_FLAGS (VALUEKIND, "net.maxon.datatype.enum.valuekind", EARLY) |
enum maxon::COLLECTION_KIND | MAXON_ENUM_LIST (COLLECTION_KIND) |
template<typename T > | |
__attribute__ ((always_inline)) T &MAXON_REMOVE_CONST(const T &value) | |
template<typename T > | |
__attribute__ ((always_inline)) T *MAXON_REMOVE_CONST(const T *value) | |
template<typename T > | |
decltype(std::declval< T >().CopyFrom(std::declval< const T & >())) | TestForCopyFromFunction (OverloadRank1) |
template<typename T > | |
std::false_type | TestForCopyFromFunction (OverloadRank0) |
template<typename T , Bool ZEROINITIALIZE = false> | |
std::enable_if<!std::is_scalar< T >::value, T * >::type | PlacementNew (void *ptr) |
template<typename T , Bool ZEROINITIALIZE, typename... ARGS> | |
T * | PlacementNew (void *ptr, ARGS &&... args) |
template<typename T , typename ARG > | |
__attribute__ ((always_inline)) auto NewCopy(T &dst | |
template<typename T > | |
__attribute__ ((always_inline)) ResultOk< T > NewCopy(T &&src) | |
template<typename T > | |
void | Destruct (const T *object) |
template<typename T > | |
DestructorPointer | GetDestructorPointer () |
template<typename T > | |
void | Reset (T &object) |
template<typename T , typename... ARGS> | |
static maxon::ResultOk< T > | CreateHelper (OverloadRank0, ARGS &&... args) |
template<typename T , typename... ARGS> | |
static std::enable_if< maxon::HasInit< T >::value, maxon::Result< T > >::type | CreateHelper (OverloadRank1, ARGS &&... args) |
template<typename T , typename... ARGS> | |
static auto | Create (ARGS &&... args) |
constexpr maxon::Float | operator""_f (long double f) |
#define DOXYGEN_SWITCH | ( | CPP, | |
DOX | |||
) |
#define DOXYGEN_SWITCH_REVERSED | ( | DOX, | |
... | |||
) |
#define MAXON_DEPENDENCY_ENABLE |
If this macro is undefined while including header files, no automatic dependencies will be set up for the entities declared in the included header files. This should be used with caution. If this mechanism is used, a #undef
-#define
-pair should surround the includes which shall be ignored for the dependency analysis as in
This pattern should only be used in cpp files, but not in header files.
#define MAXON_DEPENDENCY_ENABLEtrue |
#define MAXON_PREPROCESSOR_CONDITION | ( | X | ) |
Use MAXON_PREPROCESSOR_CONDITION(X) in a header file to tell the source processor that the corresponding includes in register.cpp shall be enclosed by #if X ... #endif. You have to use this for system specific header files. Example:
#define PRIVATE_MAXON_CHECK_IMPLEMENTATION_MODULE | ( | DECLARATION | ) |
#define PRIVATE_MAXON_PLACEHOLDER_FILENAME |
#define MAXON_IS_COW_KIND | ( | kind | ) |
#define MAXON_TARGET_UNITY_MODE |
#define PRIVATE_MAXON_REGISTER_CHECK | ( | NAME | ) |
__attribute__ | ( | (always_inline) | ) | const & |
__attribute__ | ( | (always_inline) | ) | const |
|
constexpr |
VALUE |
This flag is set if the type is a value type (such as a scalar, a COW reference or a tuple or array of value types).
NONE |
Not a collection.
VOID_TYPE |
The data type represents the void type.
GENERIC |
The data type represents the Generic type.
GENERIC_ARITHMETIC |
The data type is the abstract base type of all arithmetic types.
SCALAR |
The type is a scalar type.
INTEGRAL |
The type is an integral type (that doesn't include enumeration types).
FLOATING_POINT |
The type is a floating point type.
ENUM |
The data type is an unnamed enum type created by DataTypeLib::GetEnumType().
DATA |
The data type is Data.
DATAPTR |
The data type is one of ConstDataPtr, DataPtr, MoveDataPtr or ForwardingDataPtr.
NONVIRTUAL_INTERFACE |
The data type is a non-virtual interface.
VIRTUAL_INTERFACE |
The data type consists of a set of virtual interfaces.
REF_OR_POINTER |
This flag is set for a BaseRef-like reference or a pointer.
POINTER |
The data type is an ordinary C++ pointer, or a BaseRef with raw pointer semantics, or a C++ reference (then one of LV_REFERENCE or RV_REFERENCE is also set).
STRONG_REFERENCE |
The data type is a BaseRef with non-copy-on-write reference-counting semantics.
COW_REFERENCE |
The data type is a BaseRef with copy-on-write semantics.
UNIQUE_REFERENCE |
The data type is a BaseRef with unique ownership, i.e., the referenced object will be freed on destruction of the BaseRef.
ACOW_REFERENCE |
The data type is a BaseRef with always-copy-on-write semantics.
LV_REFERENCE |
The type is an l-value reference type. This flag can only be set in conjunction with POINTER, i.e., C++ references are treated as special pointers.
RV_REFERENCE |
The type is an r-value reference type. This flag can only be set in conjunction with POINTER, i.e., C++ references are treated as special pointers.
TUPLE |
The data type is a TupleDataType with anonymous members created by ParametricTypes::Tuple.
STRUCT |
The data type has an underlying TupleDataType with named members.
SIMD |
The data type is a SimdElementType. Such a type has a special memory layout where consecutive elements overlap in memory.
BLOCK |
The data type is a Block.
STRIDED_BLOCK |
The data type is a strided Block.
BASEARRAY |
The data type is a BaseArray type.
BLOCKARRAY |
The data type is a BlockArray type.
RESULT |
The data type is a Result.
DELEGATE |
The type is a DelegateDataType.
FUNCTION |
The type is a FunctionDataType (i.e., a Function<> bound to input and output types).
CONST_QUALIFIED |
The type is const-qualified.
SOURCE_LEVEL |
The data type is a type at sourcecode level which is represented by a different architecture- and version-dependent type at runtime.
DEEP_CONSTNESS |
The data type obeys deep constness.
INT_SIZE_OR_LESS |
Values of the data type fit into an Int.
ZERO_INITIALIZED |
Values of the data type are initialized with zeroes by their default constructor, also set for scalar types.
ORDERED |
Values of the data type are ordered (DataType::Compare can be used and implements a total order).
TRIVIALLY_CONSTRUCTIBLE |
Values of the data type are trivially constructible.
TRIVIALLY_DESTRUCTIBLE |
Values of the data type are trivially destructible.
TRIVIALLY_COPYABLE |
Values of the data type are trivially copyable.
TRIVIALLY_EQUATABLE |
Values of the data type are trivially equatable (see IsTriviallyEquatable).
TRIVIALLY_HASHABLE |
Values of the data type are trivially hashable (see IsTriviallyHashable).
OBJECT_REF |
This flag is set for a reference or pointer to a virtual object.
ELEMENT_TYPE_AS_ARG |
This flag is set for a parametric type which uses the element type to store the type arguments of the instantiation.
NEVER_NULLPTR |
This flag is set for pointer or reference types which never hold a nullptr value.
SIGNED |
This flag is set for floating point and signed integer types.
GENERIC_INSTANTIATION |
The data type is an instantiation of a generic base type for given arguments.
ABSTRACT |
The data type is an abstract type (for example Generic or an interface type).
NAMED |
This flag is set for tuple or container types with named members.
CONTAINER_REF |
The data type is a reference type of a container type.
GENERIC_CONTAINER |
This flag may be set for container types to indicate generic members.
RECURSIVE_CONTAINER |
The data type represents a recursive container type.
RESOLVED_RECURSIVE_CONTAINER |
The data type represents a resolved recursive container type (i.e. the underlying type points to the enclosing container type).
CONTAINER |
The data type is a ContainerDataType.
EMPTY_CONTAINER |
The data type is a ContainerDataType.
VIRTUAL_TUPLE_CONTAINER |
The data type is a ContainerDataType.
STATIC_ARRAY_CONTAINER |
The data type is a ContainerDataType.
ARRAY_CONTAINER |
The data type is a ContainerDataType.
ARRAY |
The data type is an ArrayInterface type obtained by DataType::GetArrayType().
The collection is an array.
CONTAINER_MASK |
The data type is a ContainerDataType.
NAMED_TUPLE |
The data type is a TupleDataType with named members created by ParametricTypes::Tuple.
CONTAINS_RECURSIVE_CONTAINER |
The data type directly or indirectly contains a recursive container type.
CONTAINS_INVALID_TYPE |
The data type directly or indirectly contains the InvalidType.
BUNDLE |
The data type is a bundle type.
MIN_DERIVED_CONTAINER |
MIN_ARRAY_CONTAINER |
MAX_ARRAY_CONTAINER |
COW_MASK |
Test mask to check for copy-on-write reference semantics.
STRONG_MASK |
Test mask to check for reference counting semantics.
PTR_MASK |
Test mask any kind of pointer/reference.
CONTAINER_OR_REF |
REFERENCE_MASK |
ARITHMETIC_MASK |
Test mask for concrete arithmetic types.
TUPLE_MASK |
TUPLE_INHERIT_MASK |
POINTER_FLAGS |
The VALUEKIND of a pointer.
QUALIFIER_MASK |
CONTAINS_MASK |
SET |
The collection is a set.
MAP |
< The collection is a map.