Everett
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::rank_groups_builder< K > Struct Template Reference

#include <rank_groups.h>

Public Member Functions

 rank_groups_builder ()=default
 
 rank_groups_builder (rank_groups_builder const &)=delete
 
rank_groups_builder & operator= (rank_groups_builder const &)=delete
 
 rank_groups_builder (rank_groups_builder &&other) noexcept
 
rank_groups_builder & operator= (rank_groups_builder &&other) noexcept
 
std::uint64_t size () const noexcept
 
std::uint64_t group_count () const noexcept
 
bool finished () const noexcept
 
void append (std::uint64_t population, std::uint64_t width=K)
 
rank_groups< K > finish ()
 

Static Public Attributes

static constexpr auto group_size = K
 
static constexpr auto class_bits = rank_groups<K>::class_bits
 

Private Member Functions

void require_active () const
 

Static Private Member Functions

static void reserve (std::vector< std::uint64_t > &data, std::uint64_t count)
 

Private Attributes

rank_groups< K > data_
 
std::uint64_t groups_ = 0
 
std::uint64_t population_ = 0
 
bool partial_ = false
 
bool finished_ = false
 

Constructor & Destructor Documentation

◆ rank_groups_builder() [1/3]

template<std::uint64_t K>
everett::rank_groups_builder< K >::rank_groups_builder ( )
default

◆ rank_groups_builder() [2/3]

template<std::uint64_t K>
everett::rank_groups_builder< K >::rank_groups_builder ( rank_groups_builder< K > const &  )
delete

◆ rank_groups_builder() [3/3]

template<std::uint64_t K>
everett::rank_groups_builder< K >::rank_groups_builder ( rank_groups_builder< K > &&  other)
inlinenoexcept

Member Function Documentation

◆ append()

template<std::uint64_t K>
void everett::rank_groups_builder< K >::append ( std::uint64_t  population,
std::uint64_t  width = K 
)
inline

◆ finish()

template<std::uint64_t K>
rank_groups< K > everett::rank_groups_builder< K >::finish ( )
inline

◆ finished()

template<std::uint64_t K>
bool everett::rank_groups_builder< K >::finished ( ) const
inlinenoexcept

◆ group_count()

template<std::uint64_t K>
std::uint64_t everett::rank_groups_builder< K >::group_count ( ) const
inlinenoexcept

◆ operator=() [1/2]

template<std::uint64_t K>
rank_groups_builder & everett::rank_groups_builder< K >::operator= ( rank_groups_builder< K > &&  other)
inlinenoexcept

◆ operator=() [2/2]

template<std::uint64_t K>
rank_groups_builder & everett::rank_groups_builder< K >::operator= ( rank_groups_builder< K > const &  )
delete

◆ require_active()

template<std::uint64_t K>
void everett::rank_groups_builder< K >::require_active ( ) const
inlineprivate

◆ reserve()

template<std::uint64_t K>
static void everett::rank_groups_builder< K >::reserve ( std::vector< std::uint64_t > &  data,
std::uint64_t  count 
)
inlinestaticprivate

◆ size()

template<std::uint64_t K>
std::uint64_t everett::rank_groups_builder< K >::size ( ) const
inlinenoexcept

Member Data Documentation

◆ class_bits

template<std::uint64_t K>
constexpr auto everett::rank_groups_builder< K >::class_bits = rank_groups<K>::class_bits
staticconstexpr

◆ data_

template<std::uint64_t K>
rank_groups<K> everett::rank_groups_builder< K >::data_
private

◆ finished_

template<std::uint64_t K>
bool everett::rank_groups_builder< K >::finished_ = false
private

◆ group_size

template<std::uint64_t K>
constexpr auto everett::rank_groups_builder< K >::group_size = K
staticconstexpr

◆ groups_

template<std::uint64_t K>
std::uint64_t everett::rank_groups_builder< K >::groups_ = 0
private

◆ partial_

template<std::uint64_t K>
bool everett::rank_groups_builder< K >::partial_ = false
private

◆ population_

template<std::uint64_t K>
std::uint64_t everett::rank_groups_builder< K >::population_ = 0
private

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