6#define __XTD_STD_INTERNAL__
8#undef __XTD_STD_INTERNAL__
15#if defined(__xtd__cpp_lib_ranges)
40 template <
typename key_selector_t>
41 struct with_key_selector {
42 const key_selector_t& key_selector;
44 template <std::ranges::range range_t>
47 template <std::ranges::range range_t>
48 friend auto operator |(range_t&& source,
const with_key_selector& self) {
return self(std::forward<range_t>(source));}
59 template <std::ranges::range range_t,
typename key_selector_t>
64 template <
typename key_selector_t>
65 auto operator()(
const key_selector_t& key_selector)
const {
return with_key_selector {key_selector};}
78 template <std::ranges::range range_type>
Contains __xtd_std_version definitions.
static const auto & as_enumerable(const ienumerable< source_t > &source) noexcept
Returns the input typed as xtd::collections::generic::ienumerable <type_t>.
Definition enumerable.hpp:286
static const auto & from(const ienumerable< source_t > &source) noexcept
Returns the input typed as xtd::collections::generic::ienumerable <type_t>.
Definition enumerable.hpp:651
The xtd::ranges::views::order_by_view class is used to sort the elements of a sequence in ascending o...
Definition order_by_view.hpp:39
friend auto operator|(range_type &&source, const order_by_view &view)
Applies a sort on the given range using the pipe operator.
Definition order_by_view.hpp:79
auto operator()(const key_selector_t &key_selector) const
Sorts the elements of a sequence in ascending order according to a key.
Definition order_by_view.hpp:65
auto operator()(range_t &&source, const key_selector_t &key_selector) const
Sorts the elements of a sequence in ascending order according to a key.
Definition order_by_view.hpp:60
Contains xtd::istringable interface.
Contains xtd::linq::enumerable <type_t> class.
The view namesapce contains range views, lightweight objects that indirectly represent iterable seque...
Definition distinct.hpp:20
The ranges namespace is an extension and generalization of the xtd::linq that makes them more powerfu...
Definition distinct.hpp:18
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::string alias.
Contains xtd::views alias namespace.