Quantum++  v1.0-rc4
A modern C++11 quantum computing library
qpp::experimental::Dynamic_bitset Class Reference

#include <experimental/experimental.h>

Inheritance diagram for qpp::experimental::Dynamic_bitset:
Collaboration diagram for qpp::experimental::Dynamic_bitset:

Public Types

using value_type = unsigned int
 Type of the storage elements. More...
 
using storage_type = std::vector< value_type >
 Type of the storage. More...
 

Public Member Functions

 Dynamic_bitset (idx N)
 Constructor, initializes all bits to false (zero) More...
 
const storage_typedata () const
 Raw storage space of the bitset. More...
 
idx size () const
 Number of bits stored in the bitset. More...
 
idx storage_size () const
 Size of the underlying storage space (in units of value_type, unsigned int by default) More...
 
idx count () const noexcept
 
bool get (idx pos) const
 
bool none () const noexcept
 
bool all () const noexcept
 
bool any () const noexcept
 
Dynamic_bitsetset (idx pos, bool value=true)
 
Dynamic_bitsetset () noexcept
 
Dynamic_bitsetrand (idx pos, double p=0.5)
 
Dynamic_bitsetrand (double p=0.5)
 
Dynamic_bitsetreset (idx pos)
 
Dynamic_bitsetreset () noexcept
 
Dynamic_bitsetflip (idx pos)
 
Dynamic_bitsetflip () noexcept
 
bool operator== (const Dynamic_bitset &rhs) const noexcept
 
bool operator!= (const Dynamic_bitset &rhs) const noexcept
 
template<class CharT = char, class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
std::basic_string< CharT, Traits, Allocator > to_string (CharT zero=CharT('0'), CharT one=CharT('1')) const
 

Protected Member Functions

idx index_ (idx pos) const
 Index of the pos bit in the storage space. More...
 
idx offset_ (idx pos) const
 Offset of the pos bit in the storage space relative to its index. More...
 

Protected Attributes

idx storage_size_
 Storage size. More...
 
idx N_
 Number of bits. More...
 
std::vector< value_typev_
 Storage space. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Dynamic_bitset &rhs)
 

Member Typedef Documentation

◆ storage_type

Type of the storage.

◆ value_type

Type of the storage elements.

Constructor & Destructor Documentation

◆ Dynamic_bitset()

qpp::experimental::Dynamic_bitset::Dynamic_bitset ( idx  N)
inline

Constructor, initializes all bits to false (zero)

Parameters
NNumber of bits in the bitset

Member Function Documentation

◆ all()

bool qpp::experimental::Dynamic_bitset::all ( ) const
inlinenoexcept
Returns

◆ any()

bool qpp::experimental::Dynamic_bitset::any ( ) const
inlinenoexcept
Returns

◆ count()

idx qpp::experimental::Dynamic_bitset::count ( ) const
inlinenoexcept
Returns

◆ data()

const storage_type& qpp::experimental::Dynamic_bitset::data ( ) const
inline

Raw storage space of the bitset.

Returns
Const reference to the underlying storage space

◆ flip() [1/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::flip ( idx  pos)
inline
Parameters
pos
Returns

◆ flip() [2/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::flip ( )
inlinenoexcept
Returns

◆ get()

bool qpp::experimental::Dynamic_bitset::get ( idx  pos) const
inline
Parameters
pos
Returns

◆ index_()

idx qpp::experimental::Dynamic_bitset::index_ ( idx  pos) const
inlineprotected

Index of the pos bit in the storage space.

Parameters
posBit location
Returns
Index of the pos bit in the storage space

◆ none()

bool qpp::experimental::Dynamic_bitset::none ( ) const
inlinenoexcept
Returns

◆ offset_()

idx qpp::experimental::Dynamic_bitset::offset_ ( idx  pos) const
inlineprotected

Offset of the pos bit in the storage space relative to its index.

Parameters
posBit location
Returns
Offset of the pos bit in the storage space relative to its index

◆ operator!=()

bool qpp::experimental::Dynamic_bitset::operator!= ( const Dynamic_bitset rhs) const
inlinenoexcept
Parameters
rhs
Returns

◆ operator==()

bool qpp::experimental::Dynamic_bitset::operator== ( const Dynamic_bitset rhs) const
inlinenoexcept
Parameters
rhs
Returns

◆ rand() [1/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::rand ( idx  pos,
double  p = 0.5 
)
inline
Parameters
pos
p
Returns

◆ rand() [2/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::rand ( double  p = 0.5)
inline
Parameters
p
Returns

◆ reset() [1/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::reset ( idx  pos)
inline
Parameters
pos
Returns

◆ reset() [2/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::reset ( )
inlinenoexcept
Returns

◆ set() [1/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::set ( idx  pos,
bool  value = true 
)
inline
Parameters
pos
value
Returns

◆ set() [2/2]

Dynamic_bitset& qpp::experimental::Dynamic_bitset::set ( )
inlinenoexcept
Returns

◆ size()

idx qpp::experimental::Dynamic_bitset::size ( ) const
inline

Number of bits stored in the bitset.

Returns
Number of bits

◆ storage_size()

idx qpp::experimental::Dynamic_bitset::storage_size ( ) const
inline

Size of the underlying storage space (in units of value_type, unsigned int by default)

Returns
Size of the underlying storage space

◆ to_string()

template<class CharT = char, class Traits = std::char_traits<CharT>, class Allocator = std::allocator<CharT>>
std::basic_string<CharT, Traits, Allocator> qpp::experimental::Dynamic_bitset::to_string ( CharT  zero = CharT('0'),
CharT  one = CharT('1') 
) const
inline
Template Parameters
CharT
Traits
Allocator
Parameters
zero
one
Returns

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Dynamic_bitset rhs 
)
friend
Parameters
os
rhs
Returns

Member Data Documentation

◆ N_

idx qpp::experimental::Dynamic_bitset::N_
protected

Number of bits.

◆ storage_size_

idx qpp::experimental::Dynamic_bitset::storage_size_
protected

Storage size.

◆ v_

std::vector<value_type> qpp::experimental::Dynamic_bitset::v_
protected

Storage space.


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