Shuffling pattern. More...
#include <eve/pattern.hpp>
Holds the index describing a compile-time shuffling pattern.
I | Index of the shuffling pattern |
Public Member Functions | |
constexpr std::ptrdiff_t | operator() (std::ptrdiff_t i, int) const noexcept |
Returns the index to use for accessing the i th element of a shuffled eve::wide. | |
constexpr bool | strictly_over (std::ptrdiff_t n) const noexcept |
Checks if all non zeroing-indexes in a pattern are greater than a given index. | |
constexpr bool | strictly_under (std::ptrdiff_t n) const noexcept |
Checks if all non zeroing-indexes in a pattern are lesser than a given index. | |
constexpr bool | over (std::ptrdiff_t n) const noexcept |
Checks if all non zeroing-indexes in a pattern are strictly greater or equal than a given index. | |
constexpr bool | under (std::ptrdiff_t n) const noexcept |
Checks if all non zeroing-indexes in a pattern are strictly lesser or equal than a given index. | |
template<std::ptrdiff_t... J> | |
constexpr bool | operator== (pattern_t< J... >) const noexcept |
Checks equality with another pattern. | |
template<std::ptrdiff_t... J> | |
constexpr bool | operator!= (pattern_t< J... >) const noexcept |
Checks inequality with another pattern. | |
Friends | |
std::ostream & | operator<< (std::ostream &os, pattern_t const &) |
Stream insertion operator for shuffling pattern. | |
Related Symbols | |
(Note that these are not member symbols.) | |
template<std::ptrdiff_t Sz, pattern_formula F> | |
constexpr auto | fix_pattern (F) |
Converts a formula pattern to an index pattern. | |
template<std::ptrdiff_t N, shuffle_pattern Pattern> | |
constexpr auto | pattern_clamp (Pattern const &) noexcept |
Clamps a pattern to a given size. | |
template<std::ptrdiff_t B, std::ptrdiff_t E, std::ptrdiff_t N, shuffle_pattern Pattern> | |
constexpr auto | pattern_view (Pattern const &) noexcept |
Extracts a sub-pattern from an existing pattern. | |
template<std::ptrdiff_t O, std::ptrdiff_t N, shuffle_pattern Pattern> | |
constexpr auto | slide_pattern (Pattern) noexcept |