class ManagedSerializableDictionary::Enumerator

Helper class that enumerates over all entires in a managed dictionary.

Operates on managed object if the parent dictionary is in linked state, or on cached data otherwise.

Public

Constructors

Enumerator

Enumerator(const ManagedSerializableDictionary *parent)

Constructs a new enumerator for a managed dictionary.

parent
Owning dictionary object.

Enumerator

Enumerator(const Enumerator &other)

Methods

~Enumerator

~Enumerator()

GetKey

SPtr<ManagedSerializableFieldData> GetKey() const

Returns the wrapped key data at the current enumerator position.

Only valid to call this if enumerator is valid (meaning last call to moveNext() returned true).

GetValue

SPtr<ManagedSerializableFieldData> GetValue() const

Returns the wrapped value data at the current enumerator position.

Only valid to call this if enumerator is valid (meaning last call to moveNext() returned true).

MoveNext

bool MoveNext()

Moves the enumerator to the next position.

Initially enumerator is at an invalid position and must be called at least once before accesing its data.

Returns: Returns if the enumerator is at valid position. When the enumerator returns false it means there are no more elements to enumerate.

Operators

operator=

Enumerator &operator=(const Enumerator &other)

Private

Fields

mKeysArrayHandle

uint32_t mKeysArrayHandle

mValuesArrayHandle

uint32_t mValuesArrayHandle

mNumEntries

u32 mNumEntries

mCurrentIdx

u32 mCurrentIdx

mKeyType

::MonoClass * mKeyType

mValueType

::MonoClass * mValueType

mCachedIter

CachedEntriesMap::const_iterator mCachedIter

mIteratorInitialized

bool mIteratorInitialized

mParent