sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp > Struct Template Reference#
ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp > Struct Template Reference
#include <sequence.hpp>
Public Types | |
using | new_merged_values = decltype(MergedValues::push_back(number< chosen_value >{})) |
using | new_merged_ids = decltype(MergedIds::push_back(number< chosen_id >{})) |
using | new_left_values = typename std::conditional< choose_left, decltype(LeftValues::pop_front()), LeftValues >::type |
using | new_left_ids = typename std::conditional< choose_left, decltype(LeftIds::pop_front()), LeftIds >::type |
using | new_right_values = typename std::conditional< choose_left, RightValues, decltype(RightValues::pop_front())>::type |
using | new_right_ids = typename std::conditional< choose_left, RightIds, decltype(RightIds::pop_front())>::type |
using | merge = sorted_sequence_merge_impl< new_left_values, new_left_ids, new_right_values, new_right_ids, new_merged_values, new_merged_ids, Comp > |
using | merged_values = typename merge::merged_values |
using | merged_ids = typename merge::merged_ids |
Static Public Attributes | |
static constexpr bool | choose_left = LeftValues::front() < RightValues::front() |
static constexpr index_t | chosen_value |
static constexpr index_t | chosen_id = choose_left ? LeftIds::front() : RightIds::front() |
Member Typedef Documentation
◆ merge
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::merge = sorted_sequence_merge_impl<new_left_values, new_left_ids, new_right_values, new_right_ids, new_merged_values, new_merged_ids, Comp> |
◆ merged_ids
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::merged_ids = typename merge::merged_ids |
◆ merged_values
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::merged_values = typename merge::merged_values |
◆ new_left_ids
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::new_left_ids = typename std::conditional<choose_left, decltype(LeftIds::pop_front()), LeftIds>::type |
◆ new_left_values
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::new_left_values = typename std:: conditional<choose_left, decltype(LeftValues::pop_front()), LeftValues>::type |
◆ new_merged_ids
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::new_merged_ids = decltype(MergedIds::push_back(number<chosen_id>{})) |
◆ new_merged_values
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::new_merged_values = decltype(MergedValues::push_back(number<chosen_value>{})) |
◆ new_right_ids
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::new_right_ids = typename std::conditional<choose_left, RightIds, decltype(RightIds::pop_front())>::type |
◆ new_right_values
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
using ck_tile::sequence_sort_impl< Values, Ids, Compare >::sorted_sequence_merge_impl< LeftValues, LeftIds, RightValues, RightIds, MergedValues, MergedIds, Comp >::new_right_values = typename std:: conditional<choose_left, RightValues, decltype(RightValues::pop_front())>::type |
Member Data Documentation
◆ choose_left
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
|
staticconstexpr |
◆ chosen_id
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
|
staticconstexpr |
◆ chosen_value
template<typename Values , typename Ids , typename Compare >
template<typename LeftValues , typename LeftIds , typename RightValues , typename RightIds , typename MergedValues , typename MergedIds , typename Comp >
|
staticconstexpr |
Initial value:
=
choose_left ? LeftValues::front() : RightValues::front()
static constexpr bool choose_left
Definition: sequence.hpp:444
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/core/container/sequence.hpp