DataDictionaryObjectInterface Class Reference Data Types

#include <datadictionaryobject.h>

Inheritance diagram for DataDictionaryObjectInterface:

详细描述

Class to store and find any data type under any type of key.

DataDictionaryObjectRef values; values.Set(Data( "MachineName" _s), Data( Application::GetMachineInfo (). Get (MACHINEINFO::COMPUTERNAME))); values.Set(Data( Int (100)), Data( Application::GetMachineInfo (). Get (MACHINEINFO::OSVERSION))); values.Set(Data( 向量 (1, 0, 0)), Data( String::IntToString ( Application::GetMachineInfo (). Get (MACHINEINFO::NUMBEROFPROCESSORS))));

Public Types

using  Iterator = DataDictionaryIterator
using  ConstIterator = DataDictionaryIterator

公共成员函数

MAXON_METHOD Result < void >  SetData ( ForwardingDataPtr &&key, 数据 &&data)
MAXON_FUNCTION Result < void >  SetData ( ForwardingDataPtr &&key, const 数据 &data)
MAXON_METHOD Result < 数据 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  重置 ()
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

私有成员函数

  MAXON_INTERFACE ( DataDictionaryObjectInterface , MAXON_REFERENCE_NORMAL , "net.maxon.interface.datadictionaryobject")

Member Typedef Documentation

◆  Iterator

using Iterator = DataDictionaryIterator

◆  ConstIterator

using ConstIterator = DataDictionaryIterator

成员函数文档编制

◆  MAXON_INTERFACE()

MAXON_INTERFACE ( DataDictionaryObjectInterface   ,
MAXON_REFERENCE_NORMAL   ,
"net.maxon.interface.datadictionaryobject"   
)
private

◆  SetData() [1/2]

MAXON_METHOD Result <void> SetData ( ForwardingDataPtr &&  key ,
数据 &&  data  
)

Set 数据 under a specific id. the data type needs to be registered.

参数
[in] key Id under which the data is stored.
[in,out] data Move reference to the data.
返回
OK on success. @MAXON_ANNOTATION{returnsThis}

◆  SetData() [2/2]

MAXON_FUNCTION Result <void> SetData ( ForwardingDataPtr &&  key ,
const 数据 data  
)

Set 数据 under a specific id.

参数
[in] key Id under which the data is stored.
[in] data Reference to the data.
返回
OK on success. @MAXON_ANNOTATION{returnsThis}

◆  GetData()

MAXON_METHOD Result < 数据 > GetData ( const ConstDataPtr key ) const

Get data stored under a specific id.

参数
[in] key Id under which the data is stored.
返回
数据 as 数据 class.

◆  Contains()

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.
返回
True if existent.

◆  EraseData()

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.
返回
OK on success. This function doesn't check if the dictionary contained the key.

◆  Reset()

MAXON_METHOD void Reset ( )

Frees the entire dictionary. After this call the DataDictionary is empty.

◆  IsEmpty()

MAXON_METHOD Bool IsEmpty ( ) const

Checks if the dictionary is empty.

返回
True if the dictionary does not contain any elements. @MAXON_ANNOTATION{default=true}

◆  IsPopulated()

MAXON_FUNCTION Bool IsPopulated ( ) const

Checks if the dictionary contains anything.

返回
True if the dictionary contains any elements.

◆  Get() [1/3]

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.
返回
数据 converted to the right type on success. @MAXON_ANNOTATION{refclassParameter=REFCLASS}

◆  Get() [2/3]

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.
返回
数据 converted to the right type if found in the dictionary, otherwise the default value. @MAXON_ANNOTATION{refclassParameter=REFCLASS}

◆  Get() [3/3]

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.
返回
数据 converted to the right type if found in the dictionary, otherwise the default value. @MAXON_ANNOTATION{refclassParameter=REFCLASS}

◆  GetOrDefault()

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.
返回
数据 converted to the right type if found in the dictionary, otherwise the default value.

◆  Set()

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.

参数
[in] key Key under which the data is stored.
[in] data 数据 to be stored in the dictionary.
返回
OK on success. @MAXON_ANNOTATION{returnsThis,refclassParameter=REFCLASS}

◆  Erase()

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.
返回
OK on success. This function doesn't check if the dictionary contained the key. @MAXON_ANNOTATION{refclassParameter=REFCLASS}

◆  InitIterator()

MAXON_METHOD void InitIterator ( DataDictionaryIteratorInterface iterator ,
Bool   end  
) const

Helper functions for iterator.

◆  Begin()

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.

◆  End()

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.

maxon::Application::GetMachineInfo
static MAXON_METHOD DataDictionary GetMachineInfo()
String::IntToString
static String IntToString(Int32 v)
定义: c4d_string.h:495
maxon::Int
Int64 Int
signed 32/64 bit int, size depends on the platform
定义: apibase.h:184
maxon::Vector
Vec3< Float, 1 > Vector
定义: vector.h:58
maxon::DataDictionaryObjectInterface::Get
MAXON_FUNCTION Result< typename std::conditional< std::is_void< T >::value, typename IsFidClass< KEY >::type, T >::type > Get(KEY &&key) const
定义: datadictionaryobject.h:129