sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq > Struct Template Reference

sorted_sequence_uniquify_impl&lt; RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq &gt; Struct Template Reference#

Composable Kernel: ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq > Struct Template Reference
ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq > Struct Template Reference

#include <sequence.hpp>

Public Types

using new_remain_values = decltype(RemainValues::PopFront())
using new_remain_ids = decltype(RemainIds::PopFront())
using new_uniquified_values
using new_uniquified_ids
using uniquify
using uniquified_values = typename uniquify::uniquified_values
using uniquified_ids = typename uniquify::uniquified_ids

Static Public Attributes

static constexpr index_t current_value = RemainValues::Front()
static constexpr index_t current_id = RemainIds::Front()
static constexpr bool is_unique_value = (current_value != UniquifiedValues::Back())

Member Typedef Documentation

◆ new_remain_ids

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::new_remain_ids = decltype(RemainIds::PopFront())

◆ new_remain_values

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::new_remain_values = decltype(RemainValues::PopFront())

◆ new_uniquified_ids

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::new_uniquified_ids
Initial value:
decltype(UniquifiedIds::PushBack(Number<current_id>{})),
UniquifiedIds>::type
integral_constant< index_t, N > Number
Definition number.hpp:12
Definition utility/functional.hpp:100
static constexpr bool is_unique_value
Definition utility/sequence.hpp:554
typename uniquify::uniquified_values type
Definition utility/sequence.hpp:611

◆ new_uniquified_values

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::new_uniquified_values
Initial value:
decltype(UniquifiedValues::PushBack(Number<current_value>{})),
UniquifiedValues>::type

◆ uniquified_ids

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::uniquified_ids = typename uniquify::uniquified_ids

◆ uniquified_values

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::uniquified_values = typename uniquify::uniquified_values

◆ uniquify

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
using ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::uniquify
Initial value:
Eq>
decltype(RemainValues::PopFront()) new_remain_values
Definition utility/sequence.hpp:556
typename conditional< is_unique_value, decltype(UniquifiedValues::PushBack(Number< current_value >{})), UniquifiedValues >::type new_uniquified_values
Definition utility/sequence.hpp:559
decltype(RemainIds::PopFront()) new_remain_ids
Definition utility/sequence.hpp:557
typename conditional< is_unique_value, decltype(UniquifiedIds::PushBack(Number< current_id >{})), UniquifiedIds >::type new_uniquified_ids
Definition utility/sequence.hpp:564

Member Data Documentation

◆ current_id

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
index_t ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::current_id = RemainIds::Front()
staticconstexpr

◆ current_value

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
index_t ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::current_value = RemainValues::Front()
staticconstexpr

◆ is_unique_value

template<typename Values, typename Less, typename Equal>
template<typename RemainValues, typename RemainIds, typename UniquifiedValues, typename UniquifiedIds, typename Eq>
bool ck::sequence_unique_sort< Values, Less, Equal >::sorted_sequence_uniquify_impl< RemainValues, RemainIds, UniquifiedValues, UniquifiedIds, Eq >::is_unique_value = (current_value != UniquifiedValues::Back())
staticconstexpr

The documentation for this struct was generated from the following file: