7#include <system/collections/ienumerable.h>
9namespace System {
namespace Linq {
20 using Comparator = std::function<bool(
const T&,
const T&)>;
23 : m_root(root), m_comparator(comp)
29 return m_root->GetEnumerator();
36 template <
typename Key>
Interface of object providing enumerator on contained elements.
Definition: ienumerable.h:25
Function delegate. This type should be allocated on stack and passed to functions by value or by refe...
Definition: func.h:82
Represents a sorted sequence.
Definition: iordered_enumerable.h:15
IOrderedEnumerable(const System::SharedPtr< System::Collections::Generic::IEnumerable< T > > &root, const Comparator &comp)
Definition: iordered_enumerable.h:22
std::function< bool(const T &, const T &)> Comparator
Definition: iordered_enumerable.h:20
System::SharedPtr< System::Collections::Generic::IEnumerable< T > > m_root
Definition: iordered_enumerable.h:40
SharedPtr< IOrderedEnumerable< T > > LINQ_ThenBy(const Func< T, Key > &keySelector)
Performs a subsequent ordering of the elements in a sequence in ascending order according to a key.
virtual SharedPtr< System::Collections::Generic::IEnumerator< T > > GetEnumerator() override
Gets enumerator.
Definition: iordered_enumerable.h:27
Comparator m_comparator
Definition: iordered_enumerable.h:41
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
Definition: db_command.h:9