Sort data after applying an arbitrary transformation to it. The primary template handles the general case of arbitrary transformation and arbitrary compare predicate.
More...
template<typename RandomAccessIt, typename UnaryOperation, typename BinaryPredicate, typename SortKey, std::size_t small_size = 8, bool = is_trivial_transformation<UnaryOperation>::value, bool = std::is_fundamental<SortKey>::value, bool = is_radix_sortable_v<SortKey>, bool = std::is_integral<SortKey>::value>
struct kblib::detail_sort::sort_transform_impl< RandomAccessIt, UnaryOperation, BinaryPredicate, SortKey, small_size, bool, bool, bool, bool >
Sort data after applying an arbitrary transformation to it. The primary template handles the general case of arbitrary transformation and arbitrary compare predicate.
Definition at line 471 of file sort.h.
template<typename RandomAccessIt , typename UnaryOperation , typename BinaryPredicate , typename SortKey , std::size_t small_size = 8, bool = is_trivial_transformation<UnaryOperation>::value, bool = std::is_fundamental<SortKey>::value, bool = is_radix_sortable_v<SortKey>, bool = std::is_integral<SortKey>::value>
template<typename RandomAccessIt2 >
static constexpr auto kblib::detail_sort::sort_transform_impl< RandomAccessIt, UnaryOperation, BinaryPredicate, SortKey, small_size, bool, bool, bool, bool >::copy |
( |
RandomAccessIt |
begin, |
|
|
const RandomAccessIt |
end, |
|
|
RandomAccessIt2 |
d_begin, |
|
|
RandomAccessIt2 |
d_end, |
|
|
UnaryOperation && |
transform, |
|
|
BinaryPredicate && |
compare |
|
) |
| -> void |
|
inlinestaticconstexpr |
TODO(killerbee13): write efficent sort_transform_copy
Definition at line 507 of file sort.h.
template<typename RandomAccessIt , typename UnaryOperation , typename BinaryPredicate , typename SortKey , std::size_t small_size = 8, bool = is_trivial_transformation<UnaryOperation>::value, bool = std::is_fundamental<SortKey>::value, bool = is_radix_sortable_v<SortKey>, bool = std::is_integral<SortKey>::value>
static constexpr auto kblib::detail_sort::sort_transform_impl< RandomAccessIt, UnaryOperation, BinaryPredicate, SortKey, small_size, bool, bool, bool, bool >::inplace |
( |
RandomAccessIt |
begin, |
|
|
const RandomAccessIt |
end, |
|
|
UnaryOperation && |
transform, |
|
|
BinaryPredicate && |
compare |
|
) |
| -> void |
|
inlinestaticconstexpr |
TODO(killerbee13): write efficient inplace sort_transform
Definition at line 472 of file sort.h.
template<typename RandomAccessIt , typename UnaryOperation , typename BinaryPredicate , typename SortKey , std::size_t small_size = 8, bool = is_trivial_transformation<UnaryOperation>::value, bool = std::is_fundamental<SortKey>::value, bool = is_radix_sortable_v<SortKey>, bool = std::is_integral<SortKey>::value>
static constexpr auto kblib::detail_sort::sort_transform_impl< RandomAccessIt, UnaryOperation, BinaryPredicate, SortKey, small_size, bool, bool, bool, bool >::scratch |
( |
RandomAccessIt |
begin, |
|
|
const RandomAccessIt |
end, |
|
|
UnaryOperation && |
transform, |
|
|
BinaryPredicate && |
compare |
|
) |
| -> void |
|
inlinestaticconstexpr |
TODO(killerbee13): write efficient sort_transform
Definition at line 489 of file sort.h.