Classes | |
| class | FId< T, KEYTYPE > |
| class | FId< T, InternedId > |
| class | PrivateGetFIdKeyType< T > |
| class | PrivateGetFIdKeyType< const char(&)[N]> |
| class | InternedIdSwitch |
| class | IdSwitch |
| class | DataIdSwitch |
| class | IdSwitchCheck< BASE > |
| class | RESTRICT |
Namespaces | |
| maxon | |
| maxon::details | |
Macros | |
| #define | FID(IID, TYPE) |
| #define | RESOURCE_DEFINE(ID, VAL) |
| #define | RESOURCE_DEFAULT(...) |
| #define | MAXON_RESOURCE_DATABASE_SCOPE(id) |
| #define | PRIVATE_RESOURCE_ID_CLASS(UID, IID, TYPE, BODY, ...) |
| #define | PRIVATE_RESOURCE_ID_DECL(STORAGE, UID) |
| #define | MAXON_ATTRIBUTE(TYPE, NAME, RID, ...) |
| #define | MAXON_ATTRIBUTE_CLASS(TYPE, NAME, RID, ...) |
| #define | MAXON_ATTRIBUTE_LOCAL(TYPE, NAME, RID, ...) |
| #define | ID_SWITCH(key) |
| #define | PRIVATE_ID_CASE(key, line) |
| #define | ID_CASE(key) |
Typedefs | |
| using | Group = void |
Functions | |
| maxon::Id | PrivateGetDatabaseScope () |
| MAXON_MEMBERTYPE_DETECTOR (IsFidClass, FidType, std::false_type) | |
| IdSwitchCheck< InternedIdSwitch > | GetIdSwitch (const InternedId &iid, OverloadRank2) |
| IdSwitchCheck< InternedIdSwitch > | GetIdSwitch (const InternedId *iid, OverloadRank2) |
| IdSwitchCheck< IdSwitch > | GetIdSwitch (const Id &id, OverloadRank1) |
| IdSwitchCheck< DataIdSwitch > | GetIdSwitch (const ConstDataPtr &data, OverloadRank0) |
| IdSwitchCheck< DataIdSwitch > | GetIdSwitch (const ForwardingDataPtr &data, OverloadRank0) |
| template<typename RESTRICT , Bool ONLYFID, typename KEY > | |
| std::enable_if<!IsFidClass< KEY >::value, typename std::conditional< STD_IS_REPLACEMENT(reference, KEY)||STD_IS_REPLACEMENT(const, KEY), ConstDataPtr, MoveDataPtr >::type >::type | ConvertKeyToDataPtr (KEY &&key) |
| template<typename RESTRICT , Bool ONLYFID, typename KEY > | |
| std::enable_if< IsFidClass< KEY >::value, ConstDataPtr >::type | ConvertKeyToDataPtr (KEY &&key) |
| template<typename T > | |
| RESTRICT | TestRestriction (T y, OverloadRank0) |
| MAXON_MEMBERTYPE_DETECTOR (GetRestrict, RESTRICT_DICTIONARY_PROPS, maxon::RESTRICT) | |
| #define FID | ( | IID, | |
| TYPE | |||
| ) |
Defines a resource id with type. E.g. FID(1000, Real) allows to set this type directly into a DataDictionary. The Set()/Get() of the DataDictionary then is type checked.
| #define RESOURCE_DEFINE | ( | ID, | |
| VAL | |||
| ) |
| #define RESOURCE_DEFAULT | ( | ... | ) |
defines the default value
| #define MAXON_RESOURCE_DATABASE_SCOPE | ( | id | ) |
| #define PRIVATE_RESOURCE_ID_CLASS | ( | UID, | |
| IID, | |||
| TYPE, | |||
| BODY, | |||
| ... | |||
| ) |
| #define PRIVATE_RESOURCE_ID_DECL | ( | STORAGE, | |
| UID | |||
| ) |
| #define MAXON_ATTRIBUTE | ( | TYPE, | |
| NAME, | |||
| RID, | |||
| ... | |||
| ) |
Declares a resource id with type in the current namespace. E.g.,
declares a resource id COLOR in the current namespace which uses 1000 as its key in dictionaries and has values of type Vector32. You have to make sure that you don't use different resource ids with equal key in the same dictionary. TODO: (Anybody) naming convention.
| [in] | TYPE | The type of the values of this resource id. |
| [in] | NAME | The C++ name of the resource id. A global variable of that name will be added to the current namespace. |
| [in] | RID | The resource id to be used as key in dictionaries. This can be of any type which is supported by DataType. A c-string literal will be treated as an InternedId. |
| [in] | ... | Further information about the resource. |
| #define MAXON_ATTRIBUTE_CLASS | ( | TYPE, | |
| NAME, | |||
| RID, | |||
| ... | |||
| ) |
Declares a resource id with type as a class member in the current class. E.g.,
declares a resource id WideningConversion in the current class which uses "widening" as its key in dictionaries and has values of type Bool. You have to make sure that you don't use different resource ids with equal key in the same dictionary. TODO: (Anybody) naming convention.
| [in] | TYPE | The type of the values of this resource id. |
| [in] | NAME | The C++ name of the resource id. A static member variable of that name will be added to the current class. |
| [in] | RID | The resource id to be used as key in dictionaries. This can be of any type which is supported by DataType. A c-string literal will be treated as an InternedId. |
| [in] | ... | Further information about the resource. |
| #define MAXON_ATTRIBUTE_LOCAL | ( | TYPE, | |
| NAME, | |||
| RID, | |||
| ... | |||
| ) |
Declares a resource id with type in the current namespace. Unlike the other MAXON_ATTRIBUTE macros, this macro has to be used in a cpp file. E.g.,
declares a resource id URL_MEMORY_REF in the current namespace which uses 'memo' as its key in dictionaries and has values of type IoMemoryRef. You have to make sure that you don't use different resource ids with equal key in the same dictionary. TODO: (Anybody) naming convention.
| [in] | TYPE | The type of the values of this resource id. |
| [in] | NAME | The C++ name of the resource id. A static member variable of that name will be added to the current class. |
| [in] | RID | The resource id to be used as key in dictionaries. This can be of any type which is supported by DataType. A c-string literal will be treated as an InternedId. |
| [in] | ... | Further information about the resource. |
| #define ID_SWITCH | ( | key | ) |
ID_SWITCH and ID_CASE allow to use Id or InternedId values in a switch statement. ID_SWITCH has to wrap the switch expression, it supports switch expressions of type Id, InternedId, pointer to InternedId or ConstDataPtr/ForwardingDataPtr. Each case label has to be wrapped by ID_CASE, this supports ids that are declared by MAXON_DECLARATION, MAXON_ATTRIBUTE, #CLASS_RESOURCE_ID, #RESOURCE_AUTOID or #CLASS_RESOURCE_AUTOID. Example:
| [in] | key | The key to be used for the switch expression. |
privateSwitchId in the scope of the switch statement. | #define PRIVATE_ID_CASE | ( | key, | |
| line | |||
| ) |
| #define ID_CASE | ( | key | ) |
ID_SWITCH and ID_CASE allow to use InternedId values in a switch statement, see ID_SWITCH.
| [in] | key | The key to be used for the case. |
| maxon::Id PrivateGetDatabaseScope | ( | ) |