| 
| virtual TKey  | get_Key ()=0 | 
|   | 
| virtual SharedPtr< IEnumerator< TItem > >  | GetEnumerator ()=0 | 
|   | Gets enumerator.  More...
  | 
|   | 
| TItem  | LINQ_Aggregate (const Func< TItem, TItem, TItem > &func) | 
|   | Applies an accumulator function over a sequence.  More...
  | 
|   | 
| TItem  | LINQ_ElementAt (int index) | 
|   | Returns the element at a specified index in a sequence.  More...
  | 
|   | 
| TItem  | LINQ_ElementAtOrDefault (int index) | 
|   | Returns the element at a specified index in a sequence.  More...
  | 
|   | 
| TItem  | LINQ_First () | 
|   | Returns the first element of a sequence.  More...
  | 
|   | 
| TItem  | LINQ_First (const Func< TItem, bool > &predicate) | 
|   | Returns the first element of a sequence that satisfy the specified condition.  More...
  | 
|   | 
| TItem  | LINQ_FirstOrDefault () | 
|   | Returns the first element of a sequence, or a default value if the sequence is empty.  More...
  | 
|   | 
| TItem  | LINQ_FirstOrDefault (std::function< bool(TItem)> predicate) | 
|   | Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.  More...
  | 
|   | 
| TItem  | LINQ_Last () | 
|   | Returns the last element of a sequence.  More...
  | 
|   | 
| TItem  | LINQ_LastOrDefault () | 
|   | Returns the last element of a sequence, or a default value if the sequence is empty.  More...
  | 
|   | 
| SharedPtr< List< TItem > >  | LINQ_ToList () | 
|   | Creates a List<T> from a sequence.  More...
  | 
|   | 
| int  | LINQ_Count () | 
|   | Returns the number of elements in the sequence (calculated via direct counting).  More...
  | 
|   | 
| int  | LINQ_Count (const Func< TItem, bool > &predicate) | 
|   | Returns the number of elements in the sequence that satisfy the specified condition.  More...
  | 
|   | 
| System::ArrayPtr< TItem >  | LINQ_ToArray () | 
|   | Creates an array from a sequence.  More...
  | 
|   | 
| bool  | LINQ_All (std::function< bool(TItem)> predicate) | 
|   | Determines whether all elements of a sequence satisfy a condition.  More...
  | 
|   | 
| bool  | LINQ_Any () | 
|   | Determines whether a sequence contains any elements.  More...
  | 
|   | 
| bool  | LINQ_Any (std::function< bool(TItem)> predicate) | 
|   | Determines whether any element of a sequence exists or satisfies a condition.  More...
  | 
|   | 
| SharedPtr< IEnumerable< TItem > >  | LINQ_Where (std::function< bool(TItem)> predicate) | 
|   | Filters a sequence based on the specified predicate.  More...
  | 
|   | 
| bool  | LINQ_Contains (TItem value) | 
|   | Determines if a sequence contains a specified value.  More...
  | 
|   | 
| SharedPtr< IEnumerable< ResultType > >  | LINQ_Cast () | 
|   | Casts the elements to the specified type.  More...
  | 
|   | 
| SharedPtr< IEnumerable< Result > >  | LINQ_Cast () | 
|   | 
| SharedPtr< Linq::IOrderedEnumerable< TItem > >  | LINQ_OrderBy (const Func< TItem, Key > &keySelector) | 
|   | Sorts the elements of a sequence in ascending order according to the key values selected by keySelector.  More...
  | 
|   | 
| SharedPtr< Linq::IOrderedEnumerable< Source > >  | LINQ_OrderBy (const Func< Source, Key > &keySelector) | 
|   | 
| SharedPtr< Linq::IOrderedEnumerable< TItem > >  | LINQ_OrderByDescending (const Func< TItem, Key > &keySelector) | 
|   | Sorts the elements of a sequence in descending order according to the key values selected by keySelector.  More...
  | 
|   | 
| SharedPtr< Linq::IOrderedEnumerable< Source > >  | LINQ_OrderByDescending (const Func< Source, Key > &keySelector) | 
|   | 
| SharedPtr< IEnumerable< ResultType > >  | LINQ_OfType () | 
|   | Filters the elements of the sequence based on the specified type.  More...
  | 
|   | 
| SharedPtr< IEnumerable< Result > >  | LINQ_OfType () | 
|   | 
| SharedPtr< IEnumerable< ResultType > >  | LINQ_Select (const Func< TItem, ResultType > &selector) | 
|   | Transforms elements of a sequence.  More...
  | 
|   | 
| SharedPtr< IEnumerable< ResultType > >  | LINQ_Select (const Func< TItem, int32_t, ResultType > &selector) | 
|   | Transforms each element of a sequence into a new form by incorporating the element's index.  More...
  | 
|   | 
| SharedPtr< IEnumerable< Result > >  | LINQ_Select (const Func< Source, Result > &selector) | 
|   | 
| SharedPtr< IEnumerable< Result > >  | LINQ_Select (const Func< Source, int32_t, Result > &selector) | 
|   | 
| SharedPtr< IEnumerable< TItem > >  | LINQ_Concat (SharedPtr< IEnumerable< TItem > > sequence) | 
|   | Concatenates two sequences.  More...
  | 
|   | 
| SharedPtr< IEnumerable< TItem > >  | LINQ_Reverse () | 
|   | Inverts the order of the elements in a sequence.  More...
  | 
|   | 
| System::SharedPtr< IEnumerable< System::SharedPtr< System::Linq::IGrouping< Key, TItem > > > >  | LINQ_GroupBy (System::Func< TItem, Key > keyPredicate) | 
|   | Groups the elements of a sequence.  More...
  | 
|   | 
| SharedPtr< IEnumerable< SharedPtr< System::Linq::IGrouping< Key, Source > > > >  | LINQ_GroupBy (System::Func< Source, Key > keyPredicate) | 
|   | 
| SharedPtr< IEnumerable< ResultType > >  | LINQ_SelectMany (const Func< TItem, SharedPtr< IEnumerable< ResultType > > > &selector) | 
|   | Projects each element of a sequence and combines the resulting sequences into one sequence.  More...
  | 
|   | 
| SharedPtr< IEnumerable< Result > >  | LINQ_SelectMany (const Func< Source, SharedPtr< IEnumerable< Result > > > &selector) | 
|   | 
| SharedPtr< IEnumerable< TItem > >  | LINQ_Take (int32_t count) | 
|   | Returns a specified number of contiguous elements from the start of a sequence.  More...
  | 
|   | 
| ResultType  | LINQ_Min (const Func< TItem, ResultType > &selector) | 
|   | Invokes a transform function on each element of a generic sequence and returns the minimum resulting value.  More...
  | 
|   | 
| ResultType  | LINQ_Min (const Func< Source, ResultType > &selector) | 
|   | 
| ResultType  | LINQ_Max (const Func< TItem, ResultType > &selector) | 
|   | Invokes a transform function on each element of a generic sequence and returns the maximum resulting value.  More...
  | 
|   | 
| ResultType  | LINQ_Max (const Func< Source, ResultType > &selector) | 
|   | 
| iterator  | begin () | 
|   | Gets iterator pointing to the first element (if any) of the collection. This iterator can't be used to change a referenced object because GetEnumerator() returns a copy-object of T.  More...
  | 
|   | 
| const_iterator  | begin () const | 
|   | Gets iterator pointing to the first element (if any) of the const-qualified instance of the collection.  More...
  | 
|   | 
| iterator  | end () | 
|   | Gets iterator pointing right after the last element (if any) of the collection. This iterator can't be used to change a referenced object because GetEnumerator() returns a copy-object of T.  More...
  | 
|   | 
| const_iterator  | end () const | 
|   | Gets iterator pointing right after the last element (if any) of the const-qualified instance of the collection.  More...
  | 
|   | 
| const_iterator  | cbegin () const | 
|   | Gets iterator pointing to the first const-qualified element (if any) of the collection.  More...
  | 
|   | 
| const_iterator  | cend () const | 
|   | Gets iterator pointing right after the last const-qualified element (if any) of the collection.  More...
  | 
|   | 
| virtual virtualized_iterator *  | virtualizeBeginIterator () | 
|   | Gets the implementation of begin iterator for the current container.  More...
  | 
|   | 
| virtual virtualized_iterator *  | virtualizeEndIterator () | 
|   | Gets the implementation of end iterator for the current container.  More...
  | 
|   | 
| virtual virtualized_iterator *  | virtualizeBeginConstIterator () const | 
|   | Gets the implementation of begin const iterator for the current container.  More...
  | 
|   | 
| virtual virtualized_iterator *  | virtualizeEndConstIterator () const | 
|   | Gets the implementation of end const iterator for the current container.  More...
  | 
|   | 
|   | Object () | 
|   | Creates object. Initializes all internal data structures.  More...
  | 
|   | 
| virtual  | ~Object () | 
|   | Destroys object. Frees all internal data structures.  More...
  | 
|   | 
|   | Object (Object const &x) | 
|   | Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses.  More...
  | 
|   | 
| Object &  | operator= (Object const &x) | 
|   | Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses.  More...
  | 
|   | 
| Object *  | SharedRefAdded () | 
|   | Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector.  More...
  | 
|   | 
| int  | SharedRefRemovedSafe () | 
|   | Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector.  More...
  | 
|   | 
| int  | RemovedSharedRefs (int count) | 
|   | Decreases shared reference count by specified value.  More...
  | 
|   | 
| Detail::SmartPtrCounter *  | WeakRefAdded () | 
|   | Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector.  More...
  | 
|   | 
| void  | WeakRefRemoved () | 
|   | Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector.  More...
  | 
|   | 
| Detail::SmartPtrCounter *  | GetCounter () | 
|   | Gets reference counter data structure associated with the object.  More...
  | 
|   | 
| int  | SharedCount () const | 
|   | Gets current value of shared reference counter.  More...
  | 
|   | 
| void  | Lock () | 
|   | Implements C# lock() statement locking. Call directly or use LockContext sentry object.  More...
  | 
|   | 
| void  | Unlock () | 
|   | Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.  More...
  | 
|   | 
| virtual bool  | Equals (ptr obj) | 
|   | Compares objects using C# Object.Equals semantics.  More...
  | 
|   | 
| virtual int32_t  | GetHashCode () const | 
|   | Analog of C# Object.GetHashCode() method. Enables hashing of custom objects.  More...
  | 
|   | 
| virtual String  | ToString () const | 
|   | Analog of C# Object.ToString() method. Enables converting custom objects to string.  More...
  | 
|   | 
| virtual ptr  | MemberwiseClone () const | 
|   | Analog of C# Object.MemberwiseClone() method. Enables cloning custom types.  More...
  | 
|   | 
| virtual const TypeInfo &  | GetType () const | 
|   | Gets actual type of object. Analog of C# System.Object.GetType() call.  More...
  | 
|   | 
| virtual bool  | Is (const TypeInfo &targetType) const | 
|   | Check if object represents an instance of type described by targetType. Analog of C# 'is' operator.  More...
  | 
|   | 
| virtual void  | SetTemplateWeakPtr (uint32_t argument) | 
|   | Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.  More...
  | 
|   | 
| virtual bool  | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const | 
|   | For internal purposes only.  More...
  | 
|   | 
| template<>  | 
| bool  | ReferenceEquals (String const &str, std::nullptr_t) | 
|   | Specialization of Object::ReferenceEquals for case of string and nullptr.  More...
  | 
|   | 
| template<>  | 
| bool  | ReferenceEquals (String const &str1, String const &str2) | 
|   | Specialization of Object::ReferenceEquals for case of strings.  More...
  | 
|   | 
 | 
| typedef IEnumerator< TItem >  | IEnumeratorType | 
|   | Enumerator type.  More...
  | 
|   | 
| using  | ValueType = TItem | 
|   | 
| using  | iterator = System::Details::VirtualizedIterator< TItem > | 
|   | Iterator type.  More...
  | 
|   | 
| using  | const_iterator = System::Details::VirtualizedConstIterator< TItem > | 
|   | Const iterator type.  More...
  | 
|   | 
| using  | virtualized_iterator = System::Details::VirtualizedIteratorBase< TItem > | 
|   | Inner iterator base type.  More...
  | 
|   | 
| using  | virtualized_iterator_element = TItem | 
|   | Inner iterator element type.  More...
  | 
|   | 
| typedef SmartPtr< Object >  | ptr | 
|   | Alias for smart pointer type.  More...
  | 
|   | 
| static bool  | ReferenceEquals (ptr const &objA, ptr const &objB) | 
|   | Compares objects by reference.  More...
  | 
|   | 
| template<typename T >  | 
| static std::enable_if<!IsSmartPtr< T >::value, bool >::type  | ReferenceEquals (T const &objA, T const &objB) | 
|   | Compares objects by reference.  More...
  | 
|   | 
| template<typename T >  | 
| static std::enable_if<!IsSmartPtr< T >::value, bool >::type  | ReferenceEquals (T const &objA, std::nullptr_t) | 
|   | Reference-compares value type object with nullptr.  More...
  | 
|   | 
| template<typename T1 , typename T2 >  | 
| static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type  | Equals (T1 const &objA, T2 const &objB) | 
|   | Compares reference type objects in C# style.  More...
  | 
|   | 
| template<typename T1 , typename T2 >  | 
| static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type  | Equals (T1 const &objA, T2 const &objB) | 
|   | Compares value type objects in C# style.  More...
  | 
|   | 
| static const TypeInfo &  | Type () | 
|   | Implements C# typeof(System.Object) construct.  More...
  | 
|   | 
| template<>  | 
| bool  | Equals (float const &objA, float const &objB) | 
|   | Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.  More...
  | 
|   | 
| template<>  | 
| bool  | Equals (double const &objA, double const &objB) | 
|   | Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.  More...
  | 
|   | 
|   | ~IEnumerable () override | 
|   | Destructor.  More...
  | 
|   | 
| virtualized_iterator *  | GetEnumeratorAsVirtualizedIterator () | 
|   | Gets enumerator instance and prepares it to be used as iterator kernel.  More...
  | 
|   | 
| virtualized_iterator *  | GetEnumeratorAsVirtualizedIterator () const | 
|   | Gets enumerator instance and prepares it to be used as iterator kernel.  More...
  | 
|   |