LIEF: Library to Instrument Executable Formats Version 1.0.0
Loading...
Searching...
No Matches
frozen::bits Namespace Reference

Classes

struct  LowerBound
struct  ignored_arg
class  cvector
class  carray
class  carray< T, 0 >
struct  remove_cv
struct  remove_cv< std::pair< T... > >
struct  remove_cv< carray< T, N > >
struct  bucket_size_compare
struct  pmh_buckets
struct  seed_or_index
struct  pmh_tables
struct  GetKey
struct  Get

Typedefs

template<std::size_t N>
using select_uint_least_t = decltype(select_uint_least(std::integral_constant<std::size_t, bit_weight(N)>()))
template<typename T>
using remove_cv_t = typename remove_cv<T>::type

Functions

auto constexpr next_highest_power_of_two (std::size_t v)
template<class T>
auto constexpr log (T v)
constexpr std::size_t bit_weight (std::size_t n)
unsigned int select_uint_least (std::integral_constant< std::size_t, 4 >)
unsigned long select_uint_least (std::integral_constant< std::size_t, 3 >)
unsigned long long select_uint_least (std::integral_constant< std::size_t, 2 >)
template<std::size_t N>
unsigned long long select_uint_least (std::integral_constant< std::size_t, N >)
template<typename Iter, typename Compare>
constexpr auto min_element (Iter begin, const Iter end, Compare const &compare)
template<class T>
constexpr void cswap (T &a, T &b)
template<class T, class U>
constexpr void cswap (std::pair< T, U > &a, std::pair< T, U > &b)
template<class... Tys, std::size_t... Is>
constexpr void cswap (std::tuple< Tys... > &a, std::tuple< Tys... > &b, std::index_sequence< Is... >)
template<class... Tys>
constexpr void cswap (std::tuple< Tys... > &a, std::tuple< Tys... > &b)
template<typename Iter>
constexpr void iter_swap (Iter a, Iter b)
template<typename Iterator, class Compare>
constexpr Iterator partition (Iterator left, Iterator right, Compare const &compare)
template<typename Iterator, class Compare>
constexpr void quicksort (Iterator left, Iterator right, Compare const &compare)
template<typename Container, class Compare>
constexpr Container quicksort (Container const &array, Compare const &compare)
template<std::size_t N, class ForwardIt, class T, class Compare>
constexpr ForwardIt lower_bound (ForwardIt first, const T &value, Compare const &compare)
template<std::size_t N, class Compare, class ForwardIt, class T>
constexpr bool binary_search (ForwardIt first, const T &value, Compare const &compare)
template<class InputIt1, class InputIt2>
constexpr bool equal (InputIt1 first1, InputIt1 last1, InputIt2 first2)
template<class InputIt1, class InputIt2>
constexpr bool lexicographical_compare (InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2)
template<std::size_t M, class Item, std::size_t N, class Hash, class Key, class PRG>
pmh_buckets< M > constexpr make_pmh_buckets (const carray< Item, N > &items, Hash const &hash, Key const &key, PRG &prg)
template<class T, std::size_t N>
constexpr bool all_different_from (cvector< T, N > &data, T &a)
template<std::size_t M, class Item, std::size_t N, class Hash, class Key, class KeyEqual, class PRG>
pmh_tables< M, Hash > constexpr make_pmh_tables (const carray< Item, N > &items, Hash const &hash, KeyEqual const &equal, Key const &key, PRG prg)

Typedef Documentation

◆ remove_cv_t

template<typename T>
using frozen::bits::remove_cv_t = typename remove_cv<T>::type

◆ select_uint_least_t

template<std::size_t N>
using frozen::bits::select_uint_least_t = decltype(select_uint_least(std::integral_constant<std::size_t, bit_weight(N)>()))

Function Documentation

◆ all_different_from()

template<class T, std::size_t N>
bool frozen::bits::all_different_from ( cvector< T, N > & data,
T & a )
constexpr

◆ binary_search()

template<std::size_t N, class Compare, class ForwardIt, class T>
bool frozen::bits::binary_search ( ForwardIt first,
const T & value,
Compare const & compare )
constexpr

◆ bit_weight()

std::size_t frozen::bits::bit_weight ( std::size_t n)
constexpr

◆ cswap() [1/4]

template<class T, class U>
void frozen::bits::cswap ( std::pair< T, U > & a,
std::pair< T, U > & b )
constexpr

References cswap().

◆ cswap() [2/4]

template<class... Tys>
void frozen::bits::cswap ( std::tuple< Tys... > & a,
std::tuple< Tys... > & b )
constexpr

References cswap().

◆ cswap() [3/4]

template<class... Tys, std::size_t... Is>
void frozen::bits::cswap ( std::tuple< Tys... > & a,
std::tuple< Tys... > & b,
std::index_sequence< Is... >  )
constexpr

References cswap().

◆ cswap() [4/4]

template<class T>
void frozen::bits::cswap ( T & a,
T & b )
constexpr

Referenced by cswap(), cswap(), cswap(), and iter_swap().

◆ equal()

template<class InputIt1, class InputIt2>
bool frozen::bits::equal ( InputIt1 first1,
InputIt1 last1,
InputIt2 first2 )
constexpr

◆ iter_swap()

template<typename Iter>
void frozen::bits::iter_swap ( Iter a,
Iter b )
constexpr

References cswap().

Referenced by partition().

◆ lexicographical_compare()

template<class InputIt1, class InputIt2>
bool frozen::bits::lexicographical_compare ( InputIt1 first1,
InputIt1 last1,
InputIt2 first2,
InputIt2 last2 )
constexpr

◆ log()

template<class T>
auto constexpr frozen::bits::log ( T v)
constexpr

◆ lower_bound()

template<std::size_t N, class ForwardIt, class T, class Compare>
ForwardIt frozen::bits::lower_bound ( ForwardIt first,
const T & value,
Compare const & compare )
constexpr

◆ make_pmh_buckets()

template<std::size_t M, class Item, std::size_t N, class Hash, class Key, class PRG>
pmh_buckets< M > constexpr frozen::bits::make_pmh_buckets ( const carray< Item, N > & items,
Hash const & hash,
Key const & key,
PRG & prg )
constexpr

◆ make_pmh_tables()

template<std::size_t M, class Item, std::size_t N, class Hash, class Key, class KeyEqual, class PRG>
pmh_tables< M, Hash > constexpr frozen::bits::make_pmh_tables ( const carray< Item, N > & items,
Hash const & hash,
KeyEqual const & equal,
Key const & key,
PRG prg )
constexpr

◆ min_element()

template<typename Iter, typename Compare>
auto frozen::bits::min_element ( Iter begin,
const Iter end,
Compare const & compare )
constexpr

◆ next_highest_power_of_two()

auto constexpr frozen::bits::next_highest_power_of_two ( std::size_t v)
constexpr

◆ partition()

template<typename Iterator, class Compare>
Iterator frozen::bits::partition ( Iterator left,
Iterator right,
Compare const & compare )
constexpr

References iter_swap().

Referenced by quicksort().

◆ quicksort() [1/2]

template<typename Container, class Compare>
Container frozen::bits::quicksort ( Container const & array,
Compare const & compare )
constexpr

References quicksort().

◆ quicksort() [2/2]

template<typename Iterator, class Compare>
void frozen::bits::quicksort ( Iterator left,
Iterator right,
Compare const & compare )
constexpr

◆ select_uint_least() [1/4]

unsigned long long frozen::bits::select_uint_least ( std::integral_constant< std::size_t, 2 > )

◆ select_uint_least() [2/4]

unsigned long frozen::bits::select_uint_least ( std::integral_constant< std::size_t, 3 > )

◆ select_uint_least() [3/4]

unsigned int frozen::bits::select_uint_least ( std::integral_constant< std::size_t, 4 > )

◆ select_uint_least() [4/4]

template<std::size_t N>
unsigned long long frozen::bits::select_uint_least ( std::integral_constant< std::size_t, N > )