repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
librepr::ctei::Search< T > Struct Template Reference

#include <search.h>

Public Types

using underlying = std::underlying_type_t< T >
 
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using search_recursive = decltype(search_range< Offset, Max, Acc >())
 
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using search_chunked = decltype(rangify< search_chunk< Offset, Offset+Max >(), Offset, Acc >())
 
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using search_fast = decltype(rangify< search_chunk_multi< Offset, Offset+Max >(), Offset, Acc >())
 
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using do_search = search_chunked< Offset, Max, Acc >
 

Static Public Member Functions

template<underlying Offset, underlying Max>
static constexpr auto search_chunk ()
 
template<underlying Offset, underlying Max>
static constexpr auto search_chunk_multi ()
 
template<underlying Offset, underlying Max, typename Acc = RangeList<>, underlying N = 0>
static consteval auto search_range ()
 
template<auto Offset, auto Max, auto ChunkSize = REPR_ENUM_CHUNKSIZE, typename Acc = RangeList<>, auto N = 0>
static consteval auto search_ranges ()
 
static consteval auto reflected_min ()
 
static consteval auto reflected_max ()
 
template<underlying Max = std::numeric_limits<underlying>::digits - 1>
static constexpr int largest_flag_multi ()
 
template<underlying Max = std::numeric_limits<underlying>::digits - 1>
static constexpr int largest_flag_chunk ()
 
template<auto N = std::numeric_limits<underlying>::digits - 1>
requires std::is_unsigned_v<underlying>
static consteval int largest_flag ()
 
static consteval auto search ()
 

Member Typedef Documentation

◆ do_search

template<typename T >
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using librepr::ctei::Search< T >::do_search = search_chunked<Offset, Max, Acc>

◆ search_chunked

template<typename T >
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using librepr::ctei::Search< T >::search_chunked = decltype(rangify<search_chunk<Offset, Offset + Max>(), Offset, Acc>())

◆ search_fast

template<typename T >
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using librepr::ctei::Search< T >::search_fast = decltype(rangify<search_chunk_multi<Offset, Offset + Max>(), Offset, Acc>())

◆ search_recursive

template<typename T >
template<underlying Offset, underlying Max, typename Acc = RangeList<>>
using librepr::ctei::Search< T >::search_recursive = decltype(search_range<Offset, Max, Acc>())

◆ underlying

template<typename T >
using librepr::ctei::Search< T >::underlying = std::underlying_type_t<T>

Member Function Documentation

◆ largest_flag()

template<typename T >
template<auto N = std::numeric_limits<underlying>::digits - 1>
requires std::is_unsigned_v<underlying>
static consteval int librepr::ctei::Search< T >::largest_flag ( )
inlinestatic

◆ largest_flag_chunk()

template<typename T >
template<underlying Max = std::numeric_limits<underlying>::digits - 1>
static constexpr int librepr::ctei::Search< T >::largest_flag_chunk ( )
inlinestaticconstexpr

◆ largest_flag_multi()

template<typename T >
template<underlying Max = std::numeric_limits<underlying>::digits - 1>
static constexpr int librepr::ctei::Search< T >::largest_flag_multi ( )
inlinestaticconstexpr

◆ reflected_max()

template<typename T >
static consteval auto librepr::ctei::Search< T >::reflected_max ( )
inlinestatic

◆ reflected_min()

template<typename T >
static consteval auto librepr::ctei::Search< T >::reflected_min ( )
inlinestatic

◆ search()

template<typename T >
static consteval auto librepr::ctei::Search< T >::search ( )
inlinestatic

◆ search_chunk()

template<typename T >
template<underlying Offset, underlying Max>
static constexpr auto librepr::ctei::Search< T >::search_chunk ( )
inlinestaticconstexpr

◆ search_chunk_multi()

template<typename T >
template<underlying Offset, underlying Max>
static constexpr auto librepr::ctei::Search< T >::search_chunk_multi ( )
inlinestaticconstexpr

◆ search_range()

template<typename T >
template<underlying Offset, underlying Max, typename Acc = RangeList<>, underlying N = 0>
static consteval auto librepr::ctei::Search< T >::search_range ( )
inlinestatic

◆ search_ranges()

template<typename T >
template<auto Offset, auto Max, auto ChunkSize = REPR_ENUM_CHUNKSIZE, typename Acc = RangeList<>, auto N = 0>
static consteval auto librepr::ctei::Search< T >::search_ranges ( )
inlinestatic

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