tlx
BitArrayRecursive< Size, false > Class Template Reference

#include <radix_heap.hpp>

Public Member Functions

 BitArrayRecursive () noexcept=default
 
 BitArrayRecursive (const BitArrayRecursive &) noexcept=default
 
 BitArrayRecursive (BitArrayRecursive &&) noexcept=default
 
BitArrayRecursiveoperator= (const BitArrayRecursive &) noexcept=default
 
BitArrayRecursiveoperator= (BitArrayRecursive &&) noexcept=default
 
void set_bit (const size_t i)
 
void clear_bit (const size_t i)
 
bool is_set (const size_t i) const
 
void clear_all ()
 
bool empty () const
 
size_t find_lsb () const
 

Static Public Attributes

static constexpr size_t size
 

Private Types

using child_type = BitArrayRecursive< 1llu<< child_width, child_width<=6 >
 
using root_type = BitArrayRecursive< root_size<=32?32:64, true >
 
using child_array_type = std::array< child_type, root_size >
 

Private Member Functions

std::pair< size_t, size_t > get_index_ (size_t i) const
 

Private Attributes

child_array_type children_
 
root_type root_
 

Static Private Attributes

static constexpr size_t leaf_width
 
static constexpr size_t width
 
static constexpr size_t root_width
 
static constexpr size_t child_width
 
static constexpr size_t root_size
 

Detailed Description

template<size_t Size>
class tlx::radix_heap_detail::BitArrayRecursive< Size, false >

Definition at line 93 of file radix_heap.hpp.

Member Typedef Documentation

using child_array_type = std::array<child_type, root_size>
private

Definition at line 108 of file radix_heap.hpp.

using child_type = BitArrayRecursive<1llu << child_width, child_width <= 6>
private

Definition at line 103 of file radix_heap.hpp.

using root_type = BitArrayRecursive<root_size <= 32 ? 32 : 64, true>
private

Definition at line 106 of file radix_heap.hpp.

Constructor & Destructor Documentation

BitArrayRecursive ( )
explicitdefaultnoexcept
BitArrayRecursive ( const BitArrayRecursive< Size, false > &  )
defaultnoexcept
BitArrayRecursive ( BitArrayRecursive< Size, false > &&  )
defaultnoexcept

Member Function Documentation

void clear_all ( )
inline

Definition at line 137 of file radix_heap.hpp.

void clear_bit ( const size_t  i)
inline

Definition at line 125 of file radix_heap.hpp.

bool empty ( ) const
inline

Definition at line 143 of file radix_heap.hpp.

size_t find_lsb ( ) const
inline

Definition at line 147 of file radix_heap.hpp.

std::pair<size_t, size_t> get_index_ ( size_t  i) const
inlineprivate

Definition at line 160 of file radix_heap.hpp.

bool is_set ( const size_t  i) const
inline

Definition at line 132 of file radix_heap.hpp.

BitArrayRecursive& operator= ( const BitArrayRecursive< Size, false > &  )
defaultnoexcept
BitArrayRecursive& operator= ( BitArrayRecursive< Size, false > &&  )
defaultnoexcept
void set_bit ( const size_t  i)
inline

Definition at line 119 of file radix_heap.hpp.

Member Data Documentation

constexpr size_t child_width
staticprivate

Definition at line 102 of file radix_heap.hpp.

child_array_type children_
private

Definition at line 157 of file radix_heap.hpp.

constexpr size_t leaf_width
staticprivate

Definition at line 95 of file radix_heap.hpp.

root_type root_
private

Definition at line 158 of file radix_heap.hpp.

constexpr size_t root_size
staticprivate

Definition at line 105 of file radix_heap.hpp.

constexpr size_t root_width
staticprivate

Definition at line 99 of file radix_heap.hpp.

constexpr size_t size
static

Definition at line 111 of file radix_heap.hpp.

constexpr size_t width
staticprivate

Definition at line 96 of file radix_heap.hpp.


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