Classes | |
class | FId< T, KEYTYPE, HELPER > |
struct | InternedIdFidBase |
class | AttributeInternedId |
class | FId< T, InternedId, HELPER > |
class | PrivateFIdBase< T, KEY, HELPER > |
class | PrivateFIdBase< T, const char(&)[N], HELPER > |
class | InternedIdSwitch |
class | IdSwitch |
class | LiteralIdSwitch |
class | DataIdSwitch |
class | IdSwitchCheck< BASE > |
class | RESTRICT |
class | ValidKeyValuePairTraitHelper< ILLEGALTYPE, OTHERILLEGALTYPES > |
class | ValidKeyValuePairTraitHelper< ILLEGALTYPE > |
class | ValidKeyValuePairTrait< ILLEGALTYPES > |
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, STORAGE, ...) |
#define | MAXON_ATTRIBUTE(TYPE, NAME, RID, ...) |
#define | MAXON_ATTRIBUTE_READONLY |
#define | decltype_nonconst(...) |
#define | MAXON_ATTRIBUTE_CLASS(TYPE, NAME, RID, ...) |
#define | ID_SWITCH(key) |
#define | PRIVATE_ID_CASE(key, line) |
#define | PRIVATE_ID_ENUM_CASE(key, line) |
#define | ID_CASE(key) |
#define | ID_ENUM_CASE(key) |
Typedefs | |
using | Group = void |
Functions | |
constexpr maxon::LiteralId | PrivateGetDatabaseScope () |
template<typename HELPER > | |
const AttributeInternedId | g_attributeInternedId (HELPER::GetId().GetCString()) |
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< LiteralIdSwitch > | GetIdSwitch (const LiteralId &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, | |||
STORAGE, | |||
... | |||
) |
#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, e.g. MAXON_ATTRIBUTE_READONLY. |
#define MAXON_ATTRIBUTE_READONLY |
Can be used to mark a MAXON_ATTRIBUTE as read-only.
#define decltype_nonconst | ( | ... | ) |
#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, e.g. MAXON_ATTRIBUTE_READONLY. |
#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_INTERNED_ID, MAXON_DECLARATION or MAXON_ATTRIBUTE. 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. |
#define ID_ENUM_CASE | ( | key | ) |
|
constexpr |