sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::dynamic_bitset< T > Class Template Reference

This class represents a dynamic size sequence of bits. More...

#include <dynamic_bitset.hpp>

Inheritance diagram for sparrow::dynamic_bitset< T >:
[legend]
Collaboration diagram for sparrow::dynamic_bitset< T >:
[legend]

Public Types

using base_type = dynamic_bitset_base<buffer<T>>
 
using storage_type = typename base_type::storage_type
 
using block_type = typename base_type::block_type
 
using value_type = typename base_type::value_type
 
using size_type = typename base_type::size_type
 
- Public Types inherited from sparrow::dynamic_bitset_base< buffer< T > >
using self_type
 
using storage_type
 
using storage_type_without_cvrefpointer
 
using block_type
 
using value_type
 
using reference
 
using const_reference
 
using size_type
 
using difference_type
 
using iterator
 
using const_iterator
 
using self_type
 
using storage_type
 
using storage_type_without_cvrefpointer
 
using block_type
 
using value_type
 
using reference
 
using const_reference
 
using size_type
 
using difference_type
 
using iterator
 
using const_iterator
 

Public Member Functions

template<std::ranges::input_range R>
requires std::convertible_to<std::ranges::range_value_t<R>, value_type>
 dynamic_bitset (const R &r)
 
constexpr dynamic_bitset ()
 
constexpr dynamic_bitset (size_type n)
 
constexpr dynamic_bitset (size_type n, value_type v)
 
constexpr dynamic_bitset (block_type *p, size_type n)
 
constexpr dynamic_bitset (block_type *p, size_type n, size_type null_count)
 
constexpr ~dynamic_bitset ()=default
 
constexpr dynamic_bitset (const dynamic_bitset &)=default
 
constexpr dynamic_bitset (dynamic_bitset &&) noexcept=default
 
constexpr dynamic_bitsetoperator= (const dynamic_bitset &)=default
 
constexpr dynamic_bitsetoperator= (dynamic_bitset &&) noexcept=default
 
constexpr void clear () noexcept
 
constexpr iterator emplace (const_iterator pos, value_type value)
 
constexpr iterator erase (const_iterator pos)
 
constexpr iterator erase (const_iterator first, const_iterator last)
 
constexpr iterator insert (const_iterator pos, value_type value)
 
constexpr iterator insert (const_iterator pos, size_type count, value_type value)
 
constexpr iterator insert (const_iterator pos, InputIt first, InputIt last)
 
constexpr iterator insert (const_iterator pos, std::initializer_list< value_type > ilist)
 
constexpr void pop_back ()
 
constexpr void push_back (value_type value)
 
constexpr void resize (size_type n, value_type b=false)
 
- Public Member Functions inherited from sparrow::dynamic_bitset_base< buffer< T > >
constexpr size_type size () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr size_type null_count () const noexcept
 
constexpr bool test (size_type pos) const
 
constexpr void set (size_type pos, value_type value)
 
constexpr const_reference at (size_type pos) const
 
constexpr reference at (size_type pos)
 
constexpr reference operator[] (size_type i)
 
constexpr const_reference operator[] (size_type i) const
 
constexpr block_typedata () noexcept
 
constexpr const block_typedata () const noexcept
 
constexpr size_type block_count () const noexcept
 
constexpr void swap (self_type &) noexcept
 
constexpr iterator begin ()
 
constexpr iterator end ()
 
constexpr const_iterator begin () const
 
constexpr const_iterator end () const
 
constexpr const_iterator cbegin () const
 
constexpr const_iterator cend () const
 
constexpr reference front ()
 
constexpr const_reference front () const
 
constexpr reference back ()
 
constexpr const_reference back () const
 
constexpr const storage_type_without_cvrefpointerbuffer () const noexcept
 
constexpr storage_type_without_cvrefpointerbuffer () noexcept
 
storage_type extract_storage () noexcept
 
constexpr size_type size () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr size_type null_count () const noexcept
 
constexpr bool test (size_type pos) const
 
constexpr void set (size_type pos, value_type value)
 
constexpr const_reference at (size_type pos) const
 
constexpr reference at (size_type pos)
 
constexpr reference operator[] (size_type i)
 
constexpr const_reference operator[] (size_type i) const
 
constexpr block_typedata () noexcept
 
constexpr const block_typedata () const noexcept
 
constexpr size_type block_count () const noexcept
 
constexpr void swap (self_type &) noexcept
 
constexpr iterator begin ()
 
constexpr const_iterator begin () const
 
constexpr iterator end ()
 
constexpr const_iterator end () const
 
constexpr const_iterator cbegin () const
 
constexpr const_iterator cend () const
 
constexpr reference front ()
 
constexpr const_reference front () const
 
constexpr reference back ()
 
constexpr const_reference back () const
 
constexpr const storage_type_without_cvrefpointerbuffer () const noexcept
 
constexpr storage_type_without_cvrefpointerbuffer () noexcept
 
storage_type extract_storage () noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from sparrow::dynamic_bitset_base< buffer< T > >
static constexpr size_type compute_block_count (size_type bits_count) noexcept
 
static constexpr size_type compute_block_count (size_type bits_count) noexcept
 
- Protected Member Functions inherited from sparrow::dynamic_bitset_base< buffer< T > >
constexpr dynamic_bitset_base (storage_type buffer, size_type size)
 
constexpr dynamic_bitset_base (storage_type buffer, size_type size, size_type null_count)
 
constexpr ~dynamic_bitset_base ()=default
 
constexpr dynamic_bitset_base (const dynamic_bitset_base &)=default
 
constexpr dynamic_bitset_base (dynamic_bitset_base &&) noexcept=default
 
constexpr dynamic_bitset_baseoperator= (const dynamic_bitset_base &)=default
 
constexpr dynamic_bitset_baseoperator= (dynamic_bitset_base &&) noexcept=default
 
constexpr void resize (size_type n, value_type b=false)
 
constexpr void clear () noexcept
 
constexpr iterator insert (const_iterator pos, value_type value)
 
constexpr iterator insert (const_iterator pos, size_type count, value_type value)
 
constexpr iterator insert (const_iterator pos, InputIt first, InputIt last)
 
constexpr iterator insert (const_iterator pos, std::initializer_list< value_type > ilist)
 
constexpr iterator emplace (const_iterator pos, value_type value)
 
constexpr iterator erase (const_iterator pos)
 
constexpr iterator erase (const_iterator first, const_iterator last)
 
constexpr void push_back (value_type value)
 
constexpr void pop_back ()
 
constexpr dynamic_bitset_base (storage_type buffer, size_type size)
 
constexpr dynamic_bitset_base (storage_type buffer, size_type size, size_type null_count)
 
constexpr dynamic_bitset_base (const dynamic_bitset_base &)=default
 
constexpr dynamic_bitset_base (dynamic_bitset_base &&) noexcept=default
 
constexpr ~dynamic_bitset_base ()=default
 
constexpr dynamic_bitset_baseoperator= (const dynamic_bitset_base &)=default
 
constexpr dynamic_bitset_baseoperator= (dynamic_bitset_base &&) noexcept=default
 
constexpr void resize (size_type n, value_type b=false)
 
constexpr void clear () noexcept
 
constexpr iterator insert (const_iterator pos, value_type value)
 
constexpr iterator insert (const_iterator pos, size_type count, value_type value)
 
constexpr iterator insert (const_iterator pos, InputIt first, InputIt last)
 
constexpr iterator insert (const_iterator pos, std::initializer_list< value_type > ilist)
 
constexpr iterator emplace (const_iterator pos, value_type value)
 
constexpr iterator erase (const_iterator pos)
 
constexpr iterator erase (const_iterator first, const_iterator last)
 
constexpr void push_back (value_type value)
 
constexpr void pop_back ()
 

Detailed Description

template<std::integral T>
class sparrow::dynamic_bitset< T >

This class represents a dynamic size sequence of bits.

Template Parameters
Tthe integer type used to store the bits.

Definition at line 33 of file dynamic_bitset.hpp.

Member Typedef Documentation

◆ base_type

template<std::integral T>
using sparrow::dynamic_bitset< T >::base_type = dynamic_bitset_base<buffer<T>>

Definition at line 37 of file dynamic_bitset.hpp.

◆ block_type

template<std::integral T>
using sparrow::dynamic_bitset< T >::block_type = typename base_type::block_type

Definition at line 39 of file dynamic_bitset.hpp.

◆ size_type

template<std::integral T>
using sparrow::dynamic_bitset< T >::size_type = typename base_type::size_type

Definition at line 41 of file dynamic_bitset.hpp.

◆ storage_type

template<std::integral T>
using sparrow::dynamic_bitset< T >::storage_type = typename base_type::storage_type

Definition at line 38 of file dynamic_bitset.hpp.

◆ value_type

template<std::integral T>
using sparrow::dynamic_bitset< T >::value_type = typename base_type::value_type

Definition at line 40 of file dynamic_bitset.hpp.

Constructor & Destructor Documentation

◆ dynamic_bitset() [1/8]

template<std::integral T>
template<std::ranges::input_range R>
requires std::convertible_to<std::ranges::range_value_t<R>, value_type>
sparrow::dynamic_bitset< T >::dynamic_bitset ( const R & r)
inlineexplicit

Definition at line 45 of file dynamic_bitset.hpp.

Here is the caller graph for this function:

◆ dynamic_bitset() [2/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( )
constexpr

Definition at line 82 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ dynamic_bitset() [3/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( size_type n)
explicitconstexpr

Definition at line 88 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ dynamic_bitset() [4/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( size_type n,
value_type v )
constexpr

Definition at line 94 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ dynamic_bitset() [5/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( block_type * p,
size_type n )
constexpr

Definition at line 104 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ dynamic_bitset() [6/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( block_type * p,
size_type n,
size_type null_count )
constexpr

Definition at line 110 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ ~dynamic_bitset()

template<std::integral T>
sparrow::dynamic_bitset< T >::~dynamic_bitset ( )
constexprdefault

◆ dynamic_bitset() [7/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( const dynamic_bitset< T > & )
constexprdefault

◆ dynamic_bitset() [8/8]

template<std::integral T>
sparrow::dynamic_bitset< T >::dynamic_bitset ( dynamic_bitset< T > && )
constexprdefaultnoexcept

Member Function Documentation

◆ clear()

template<std::integral T>
void sparrow::dynamic_bitset_base< buffer< T > >::clear ( )
constexprnoexcept

◆ emplace()

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::emplace ( const_iterator pos,
value_type value )
constexpr

◆ erase() [1/2]

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::erase ( const_iterator first,
const_iterator last )
constexpr

◆ erase() [2/2]

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::erase ( const_iterator pos)
constexpr

◆ insert() [1/4]

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::insert ( const_iterator pos,
InputIt first,
InputIt last )
constexpr

◆ insert() [2/4]

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::insert ( const_iterator pos,
size_type count,
value_type value )
constexpr

◆ insert() [3/4]

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::insert ( const_iterator pos,
std::initializer_list< value_type > ilist )
constexpr

◆ insert() [4/4]

template<std::integral T>
iterator sparrow::dynamic_bitset_base< buffer< T > >::insert ( const_iterator pos,
value_type value )
constexpr

◆ operator=() [1/2]

template<std::integral T>
dynamic_bitset & sparrow::dynamic_bitset< T >::operator= ( const dynamic_bitset< T > & )
constexprdefault

◆ operator=() [2/2]

template<std::integral T>
dynamic_bitset & sparrow::dynamic_bitset< T >::operator= ( dynamic_bitset< T > && )
constexprdefaultnoexcept

◆ pop_back()

template<std::integral T>
void sparrow::dynamic_bitset_base< buffer< T > >::pop_back ( )
constexpr

◆ push_back()

template<std::integral T>
void sparrow::dynamic_bitset_base< buffer< T > >::push_back ( value_type value)
constexpr

◆ resize()

template<std::integral T>
void sparrow::dynamic_bitset_base< buffer< T > >::resize ( size_type n,
value_type b = false )
constexpr

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