tlx
Loading...
Searching...
No Matches
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 94 of file radix_heap.hpp.

Member Typedef Documentation

◆ child_array_type

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

Definition at line 109 of file radix_heap.hpp.

◆ child_type

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

Definition at line 104 of file radix_heap.hpp.

◆ root_type

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

Definition at line 107 of file radix_heap.hpp.

Constructor & Destructor Documentation

◆ BitArrayRecursive() [1/3]

BitArrayRecursive ( )
explicitdefaultnoexcept

◆ BitArrayRecursive() [2/3]

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

◆ BitArrayRecursive() [3/3]

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

Member Function Documentation

◆ clear_all()

void clear_all ( )
inline

Definition at line 138 of file radix_heap.hpp.

◆ clear_bit()

void clear_bit ( const size_t  i)
inline

Definition at line 126 of file radix_heap.hpp.

◆ empty()

bool empty ( ) const
inline

Definition at line 144 of file radix_heap.hpp.

◆ find_lsb()

size_t find_lsb ( ) const
inline

Definition at line 148 of file radix_heap.hpp.

◆ get_index_()

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

Definition at line 161 of file radix_heap.hpp.

◆ is_set()

bool is_set ( const size_t  i) const
inline

Definition at line 133 of file radix_heap.hpp.

◆ operator=() [1/2]

BitArrayRecursive & operator= ( BitArrayRecursive< Size, false > &&  )
defaultnoexcept

◆ operator=() [2/2]

BitArrayRecursive & operator= ( const BitArrayRecursive< Size, false > &  )
defaultnoexcept

◆ set_bit()

void set_bit ( const size_t  i)
inline

Definition at line 120 of file radix_heap.hpp.

Member Data Documentation

◆ child_width

constexpr size_t child_width
staticconstexprprivate

Definition at line 103 of file radix_heap.hpp.

◆ children_

child_array_type children_
private

Definition at line 158 of file radix_heap.hpp.

◆ leaf_width

constexpr size_t leaf_width
staticconstexprprivate

Definition at line 96 of file radix_heap.hpp.

◆ root_

root_type root_
private

Definition at line 159 of file radix_heap.hpp.

◆ root_size

constexpr size_t root_size
staticconstexprprivate

Definition at line 106 of file radix_heap.hpp.

◆ root_width

constexpr size_t root_width
staticconstexprprivate

Definition at line 100 of file radix_heap.hpp.

◆ size

constexpr size_t size
staticconstexpr

Definition at line 112 of file radix_heap.hpp.

◆ width

constexpr size_t width
staticconstexprprivate

Definition at line 97 of file radix_heap.hpp.


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