BNM 2.5.0
 
Loading...
Searching...
No Matches
BNM::Structures::Mono::Dictionary< TKey, TValue > Struct Template Reference

System.Generic.Dictionary type implementation. More...

#include <ComplexMonoStructures.hpp>

Classes

struct  Entry
 System.Generic.Dictionary.Entry type implementation. More...
 

Public Member Functions

std::map< TKey, TValue > ToMap () const
 Convert to std::map.
 
std::vector< TKey > GetKeys () const
 Convert to std::vector.
 
std::vector< TValue > GetValues () const
 Convert to std::vector.
 
int GetSize () const
 Get dictionary size.
 
int GetVersion () const
 Get dictionary version.
 
bool TryGet (TKey key, TValue *value) const
 Try to get value by key.
 
void Add (TKey key, TValue value)
 Add value.
 
void Insert (TKey key, TValue value)
 Insert value.
 
bool Remove (TKey key)
 Remove value.
 
bool ContainsKey (TKey key) const
 Check if key exists.
 
bool ContainsValue (TValue value) const
 Check if value exists.
 
void Clear ()
 Clear dictionary.
 
TValue Get (TKey key) const
 Get value by key.
 
TValue operator[] (TKey key) const
 Get value by key.
 

Public Attributes

Array< int > * buckets {}
 
Array< Entry > * entries {}
 
int count {}
 
int version {}
 
int freeList {}
 
int freeCount {}
 
void * comparer {}
 
Array< TKey > * keys {}
 
Array< TValue > * values {}
 
void * syncRoot {}
 

Detailed Description

template<typename TKey, typename TValue>
struct BNM::Structures::Mono::Dictionary< TKey, TValue >

System.Generic.Dictionary type implementation.

Template Parameters
TKeyKey type
TValueValue type

Member Function Documentation

◆ Add()

template<typename TKey, typename TValue>
void BNM::Structures::Mono::Dictionary< TKey, TValue >::Add ( TKey key,
TValue value )
inline

Add value.

Parameters
keyTarget key
valueTarget value

◆ ContainsKey()

template<typename TKey, typename TValue>
bool BNM::Structures::Mono::Dictionary< TKey, TValue >::ContainsKey ( TKey key) const
inline

Check if key exists.

Parameters
keyTarget key
Returns
True if key exists.

◆ ContainsValue()

template<typename TKey, typename TValue>
bool BNM::Structures::Mono::Dictionary< TKey, TValue >::ContainsValue ( TValue value) const
inline

Check if value exists.

Parameters
valueTarget value
Returns
True if value exists.

◆ Get()

template<typename TKey, typename TValue>
TValue BNM::Structures::Mono::Dictionary< TKey, TValue >::Get ( TKey key) const
inline

Get value by key.

Returns
Value if it's found, otherwise default value.

◆ GetKeys()

template<typename TKey, typename TValue>
std::vector< TKey > BNM::Structures::Mono::Dictionary< TKey, TValue >::GetKeys ( ) const
inline

Convert to std::vector.

Returns
Vector of keys

◆ GetSize()

template<typename TKey, typename TValue>
int BNM::Structures::Mono::Dictionary< TKey, TValue >::GetSize ( ) const
inlinenodiscard

Get dictionary size.

Returns
Dictionary entries count

◆ GetValues()

template<typename TKey, typename TValue>
std::vector< TValue > BNM::Structures::Mono::Dictionary< TKey, TValue >::GetValues ( ) const
inline

Convert to std::vector.

Returns
Vector of values

◆ GetVersion()

template<typename TKey, typename TValue>
int BNM::Structures::Mono::Dictionary< TKey, TValue >::GetVersion ( ) const
inlinenodiscard

Get dictionary version.

Returns
Dictionary version

◆ Insert()

template<typename TKey, typename TValue>
void BNM::Structures::Mono::Dictionary< TKey, TValue >::Insert ( TKey key,
TValue value )
inline

Insert value.

Parameters
keyTarget key
valueTarget value

◆ operator[]()

template<typename TKey, typename TValue>
TValue BNM::Structures::Mono::Dictionary< TKey, TValue >::operator[] ( TKey key) const
inline

Get value by key.

Alias of Get().

Returns
Value if it's found, otherwise default value.

◆ Remove()

template<typename TKey, typename TValue>
bool BNM::Structures::Mono::Dictionary< TKey, TValue >::Remove ( TKey key)
inline

Remove value.

Parameters
keyTarget key
Returns
True if value was removed

◆ ToMap()

template<typename TKey, typename TValue>
std::map< TKey, TValue > BNM::Structures::Mono::Dictionary< TKey, TValue >::ToMap ( ) const
inline

Convert to std::map.

Returns
Map of elements

◆ TryGet()

template<typename TKey, typename TValue>
bool BNM::Structures::Mono::Dictionary< TKey, TValue >::TryGet ( TKey key,
TValue * value ) const
inline

Try to get value by key.

Parameters
keyTarget key
valueOut value
Returns
True if value is found by key.