#include <datadictionaryobject.h>
Class to store and find any data type under any type of key.
Public Types | |
using | Iterator = DataDictionaryIterator |
using | ConstIterator = DataDictionaryIterator |
Public Member Functions | |
MAXON_METHOD Result< void > | SetData (ForwardingDataPtr &&key, Data &&data) |
MAXON_FUNCTION Result< void > | SetData (ForwardingDataPtr &&key, const Data &data) |
MAXON_METHOD Result< Data > | GetData (const ConstDataPtr &key) const |
template<typename KEY > | |
MAXON_FUNCTION Bool | Contains (KEY &&key) const |
MAXON_METHOD Result< void > | EraseData (const ConstDataPtr &key) |
MAXON_METHOD void | Reset () |
MAXON_METHOD Bool | IsEmpty () const |
MAXON_FUNCTION Bool | IsPopulated () const |
template<typename REFCLASS , typename T = void, typename KEY > | |
MAXON_FUNCTION Result< typename std::conditional< std::is_void< T >::value, typename IsFidClass< KEY >::type, T >::type > | Get (KEY &&key) const |
template<typename REFCLASS , typename T , typename KEY > | |
MAXON_FUNCTION std::conditional< IsFidClass< KEY >::value &&GetCollectionKind< T >::value !=COLLECTION_KIND::ARRAY, typename IsFidClass< KEY >::type, T >::type | Get (KEY &&key, const T &defaultValue) const |
template<typename REFCLASS , typename T , typename KEY > | |
MAXON_FUNCTION std::conditional< IsFidClass< KEY >::value &&GetCollectionKind< T >::value !=COLLECTION_KIND::ARRAY, typename IsFidClass< KEY >::type, T >::type | Get (KEY &&key, T &&defaultValue) const |
template<typename T = void, typename KEY > | |
MAXON_FUNCTION std::conditional< std::is_void< T >::value, typename IsFidClass< KEY >::type, T >::type | GetOrDefault (KEY &&key) const |
template<typename REFCLASS , typename T , typename KEY > | |
MAXON_FUNCTION Result< void > | Set (KEY &&key, T &&data) |
template<typename REFCLASS , typename KEY > | |
MAXON_FUNCTION Result< void > | Erase (KEY &&key) |
MAXON_METHOD void | InitIterator (DataDictionaryIteratorInterface *iterator, Bool end) const |
MAXON_FUNCTION ConstIterator | Begin () const |
MAXON_FUNCTION ConstIterator | End () const |
template<typename T , typename KEY > | |
std::conditional< std::is_void< T >::value, typename IsFidClass< KEY >::type, T >::type | GetOrDefault (KEY &&key) const |
Private Member Functions | |
MAXON_INTERFACE (DataDictionaryObjectInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.datadictionaryobject", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
using Iterator = DataDictionaryIterator |
using ConstIterator = DataDictionaryIterator |
|
private |
MAXON_METHOD Result<void> SetData | ( | ForwardingDataPtr && | key, |
Data && | data | ||
) |
MAXON_FUNCTION Result<void> SetData | ( | ForwardingDataPtr && | key, |
const Data & | data | ||
) |
MAXON_METHOD Result<Data> GetData | ( | const ConstDataPtr & | key | ) | const |
MAXON_FUNCTION Bool Contains | ( | KEY && | key | ) | const |
Check if there is data stored under a specific key.
[in] | key | Key under which the data should be stored. |
MAXON_METHOD Result<void> EraseData | ( | const ConstDataPtr & | key | ) |
Remove a data entry from the dictionary. This function doesn't check if the dictionary contained the key.
[in] | key | Id under which the data is stored. |
MAXON_METHOD void Reset | ( | ) |
Frees the entire dictionary. After this call the DataDictionary is empty.
MAXON_METHOD Bool IsEmpty | ( | ) | const |
Checks if the dictionary is empty.
MAXON_FUNCTION Bool IsPopulated | ( | ) | const |
Checks if the dictionary contains anything.
MAXON_FUNCTION Result<typename std::conditional<std::is_void<T>::value, typename IsFidClass<KEY>::type, T>::type> Get | ( | KEY && | key | ) | const |
Get data stored under a specific key. If the key is not found an error will be returned. This functions offers 2 possible calls. First using an FId "dict.Get(MAXCHINEINFO::COMPUTERNAME)" or second using any type directly together with the result type "dict.Get<String>(Int32(5))". The data type needs to be registered.
[in] | key | Key under which the data is stored. |
MAXON_FUNCTION std::conditional<IsFidClass<KEY>::value&& GetCollectionKind<T>::value != COLLECTION_KIND::ARRAY, typename IsFidClass<KEY>::type, T>::type Get | ( | KEY && | key, |
const T & | defaultValue | ||
) | const |
Get data stored under a specific key. If the key is not found the given default value will be returned. This functions offers 2 possible calls. First using an FId "dict.Get(MAXCHINEINFO::COMPUTERNAME, String())" or second using any type directly together with the result type "dict.Get(Int32(5), String())". The data type needs to be registered.
[in] | key | Key under which the data is stored. |
[in] | defaultValue | Default value which should be returned if the key cannot be found. |
MAXON_FUNCTION std::conditional<IsFidClass<KEY>::value&& GetCollectionKind<T>::value != COLLECTION_KIND::ARRAY, typename IsFidClass<KEY>::type, T>::type Get | ( | KEY && | key, |
T && | defaultValue | ||
) | const |
Get data stored under a specific key. If the key is not found the given default value will be returned. This functions offers 2 possible calls. First using an FId "dict.Get(MAXCHINEINFO::COMPUTERNAME, String())" or second using any type directly together with the result type "dict.Get(Int32(5), String())". The data type needs to be registered.
[in] | key | Key under which the data is stored. |
[in] | defaultValue | Default value which should be returned if the key cannot be found. |
MAXON_FUNCTION std::conditional<std::is_void<T>::value, typename IsFidClass<KEY>::type, T>::type GetOrDefault | ( | KEY && | key | ) | const |
Get data stored under a specific key. If the key is not found the given default value will be returned. This functions offers 2 possible calls. First using an FId "dict.Get(MAXCHINEINFO::COMPUTERNAME, String())" or second using any type directly together with the result type "dict.Get(Int32(5), String())". The data type needs to be registered.
[in] | key | Key under which the data is stored. |
MAXON_FUNCTION Result<void> Set | ( | KEY && | key, |
T && | data | ||
) |
Set data under a specific id. this function is template to allow implicit Set calls for each data type. This functions offers 2 possible calls. First using an FId "dict.Set(MAXCHINEINFO::COMPUTERNAME, "data"_s)" or second using any type directly "dict.Set(Int32(5), "data"_s)". The data type needs to be registered. LiteralId data type is not allowed as value type (#data).
[in] | key | Key under which the data is stored. |
[in] | data | Data to be stored in the dictionary. |
MAXON_FUNCTION Result<void> Erase | ( | KEY && | key | ) |
Erase data stored under a specific key. This function doesn't check if the dictionary contained the key. This functions offers 2 possible calls. First using an FId "dict.Erase(MAXCHINEINFO::COMPUTERNAME)" or second using any type directly "dict.Erase(Int32(5))". The data type needs to be registered.
[in] | key | Key under which the data is stored. |
MAXON_METHOD void InitIterator | ( | DataDictionaryIteratorInterface * | iterator, |
Bool | end | ||
) | const |
Helper functions for iterator.
MAXON_FUNCTION ConstIterator Begin | ( | ) | const |
Returns the begin iterator of the DataDictionary. You can use the Iterator to run through all elements of the DataDictionary.
MAXON_FUNCTION ConstIterator End | ( | ) | const |
Returns the end iterator of the DataDictionary. You can use the Iterator to run through all elements of the DataDictionary.