System::Collections::Generic

Classes

ClassDescription
_KeyCollectionCollection of Dictionary’s keys. References collection, doesn’t copy anything. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
_KeyListImplements list of dictionary’s keys. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
_ValueCollectionCollection of Dictionary’s values. References collection, doesn’t copy anything. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
_ValueListImplements list of dictionary’s values. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
BaseDictionaryImplements common code for various dictionary-alike data structures (e. g. Dictionary, SortedDictionary). Shouldn’t be used directly, except for inheritance when defining containers. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
BaseEnumeratorEnumerator definition to wrap STL-styled types for C#-styled usage. Makes no assertions on container structure except for existance of sequental iterator. Uses begin() and end() functions. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
BaseKVCollectionHolds common code for collections of keys or values. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
DefaultComparerDefault comparator class. Uses operator < and operator == to compare values. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
Details_KeyNotFoundException
DictionaryForward declaration of Dictionary class.
DictionaryIteratorDictionary iterator that provides KeyValuePair notation.
DictionaryPtrDictionary pointer class with operator overloads. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.
EnumerableExt
EnumeratorWrapperIteratorIterator that wraps the pre-created enumerator and redirects all calls into it.
HashDictionaryStub for HashDictionary class (not implemented currently). Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
HashSetForward declaration of HashSet class.
HashSetPtrPointer to keep HashSet references. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.
ICollectionInterface of collection of elements. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
IComparerInterface that compares two objects in greater-equal-less sense. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
IDictionaryInterface for dictionary-alike containers. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
IEnumerableInterface of object providing enumerator on contained elements.
IEnumeratorInterface of enumerator which can be used to iterate through some elements. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
IEqualityComparerInterface providing means to compare two objects for equality. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
IKVCollectionInterface of container containing keys or values of the dictionary-like container. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
IListInterface of indexed container of elements. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ISetInterface of collection containing a set of unique elements. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
KeyIteratorDictionary iterator that provides key access.
KeyValuePairPair of key and value. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.
KVPairIteratorAdapting iterator, wraps std::pair into KVPair expected from Dictionary.
LinkedListLinkedList forward declaration.
LinkedListNodeNode of linked list. Implements a wrapper over an iterator of std::list that is wrapped in linked list. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
ListList forward declaration.
ListExtgeneric List class that implements IListWrapper interface
ListPtrList pointer with access operators. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.
QueueQueue class forward declaration.
QueuePtrQueue pointer. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.
ReverseEnumeratorEnumerator that reverse-iterates through container. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SimpleEnumeratorIterator class for simple containers holding elements directly using rbegin() and rend() functions. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SortedDictionarySorted dictionary type forward declaration.
SortedDictionaryPtrSorted dictionary pointer with access operators. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.
SortedListSorted list wrapping FlatMap structure. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
SortedListHelperThis helper class is used to mask virtual functions get_Keys get_Values that come from IDictionary interface and substitute these to the functions with different return type.
StackStack class forward declaration.
StackPtrStack pointer. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.
ValueIteratorDictionary iterator that provides value access.

Structures

StructDescription
ComparerAdapterAdapter to use IComparer within STL environment. Uses IComparer if set; otherwise, uses operator < (if available) or returns false (if not).
DictionaryHashSelectorHash function selector for Dictionary class. This implementation uses STL hashing given no alternative is provided.
EqualityComparerAdapterAdapter making it possible using IEqualityComparer with STL-styled collections and algorithms. Uses IEqualityComparer, if set. If not set, uses operator ==, Object::Equals or T::Equals, whichever is available.
EqualityComparerHashAdapterAdapter to use IEqualityComparer for hashing. Uses comparator object, if set; otherwise, uses available hash method selected using DictionaryHashSelector struct.

Functions

FunctionDescription
bool operator==(const KeyValuePair<TKey, TValue>&, const KeyValuePair<TKey, TValue>&)Compares two key-value pairs using ’equals’ semantics. Uses operator == or EqualsTo method for both keys and values, whichever is defined.
bool operator!=(const KeyValuePair<TKey, TValue>&, const KeyValuePair<TKey, TValue>&)Compares two key-value pairs using inverse ’equals’ semantics.
std::ostream& operator«(std::ostream&, const KeyValuePair<TKey, TValue>&)Insert data into the stream using UTF-8 encoding.
std::wostream& operator«(std::wostream&, const KeyValuePair<TKey, TValue>&)Insert data into the stream.

Typedefs

TypedefDescription
KeyNotFoundException