Templa 0.0.1-alpha
C++ Metaprogramming Utilities
|
Computes a compile-time unique sequence from a pack of values. More...
#include <algorithms.hpp>
Public Types | |
using | identity_type = typename templa::internal::uniform_element_identity<Es...> |
Type containing the uniform array of input values. | |
using | old_array_type = typename identity_type::uniform_type |
The type of the original uniform array. | |
Public Types inherited from templa::internal::uniform_element_identity< Es... > | |
using | uniform_type |
Type alias for the uniform std::array of elements. | |
using | value_type |
Value type of the uniform_type. |
Static Public Attributes | |
static constexpr auto | unique_sequence |
The resulting array with unique elements from the input pack. | |
Static Public Attributes inherited from templa::internal::uniform_element_identity< Es... > | |
static constexpr std::size_t | size |
Number of elements. | |
static constexpr bool | valid |
Check if all elements have the same decayed type and are comparable. | |
static constexpr uniform_type | identity_value |
Static array holding the elements. |
Computes a compile-time unique sequence from a pack of values.
Inherits from templa::internal::uniform_element_identity to obtain a uniform array representation of the input pack and eliminates duplicates in the order they appear.
Es | A parameter pack of compile-time constant values. |
|
staticconstexpr |
The resulting array with unique elements from the input pack.
The algorithm preserves the order of first occurrences and excludes duplicates using exists_until from the internal utilities.