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 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 | ( | ) |