other versions
- wheezy 4.4.7-2
std::bitset< _Nb >(3cxx) | std::bitset< _Nb >(3cxx) |
NAME¶
std::bitset< _Nb > -SYNOPSIS¶
Inherits std::_Base_bitset<((_Nb)< 1?0:((_Nb)+(__CHAR_BIT__ *sizeof(unsigned long))-1)/(__CHAR_BIT__ *sizeof(unsigned long)))>.Classes¶
class reference
Public Member Functions¶
size_t _Find_first () const
bitset< _Nb > & operator&= (const bitset< _Nb > &__rhs)
bitset< _Nb > & operator<<= (size_t __position)
bitset< _Nb > & _Unchecked_set (size_t __pos)
reference operator[] (size_t __position)
bool operator== (const bitset< _Nb > &__rhs) const
bitset< _Nb > operator<< (size_t __position) const
Private Types¶
typedef unsigned long _WordT
Private Member Functions¶
size_t _M_are_all_aux () const
Static Private Member Functions¶
static _WordT _S_maskbit (size_t __pos)
Private Attributes¶
_WordT _M_w [_Nw]
Friends¶
class reference
Detailed Description¶
template<size_t _Nb>class std::bitset< _Nb >¶
The bitset class represents a fixed-size sequence of bits.#include <bitset> #include <iostream> #include <sstream> using namespace std; int main() { long a = 'a'; bitset<10> b(a); cout << 'b('a') is ' << b << endl; ostringstream s; s << b; string str = s.str(); cout << 'index 3 in the string is ' << str[3] << ' but0 << 'index 3 in the bitset is ' << b[3] << endl; }Also see: http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch33s02.html for a description of extensions. Most of the actual code isn't contained in bitset<> itself, but in the base class _Base_bitset. The base class works with whole words, not with individual bits. This allows us to specialize _Base_bitset for the important special case where the bitset is only a single word. Extra confusion can result due to the fact that the storage for _Base_bitset is a regular array, and is indexed as such. This is carefully encapsulated. Definition at line 646 of file bitset.
Constructor & Destructor Documentation¶
template<size_t _Nb> std::bitset< _Nb >::bitset () [inline]¶
All bits set to zero. Definition at line 736 of file bitset.template<size_t _Nb> std::bitset< _Nb >::bitset (unsigned long__val) [inline]¶
Initial bits bitwise-copied from a single word (others set to zero). Definition at line 740 of file bitset.template<size_t _Nb> template<class _CharT , class _Traits , class _Alloc > std::bitset< _Nb >::bitset (const std::basic_string< _CharT, _Traits, _Alloc > &__s, size_t__position = 0) [inline], [explicit]¶
Use a subset of a string. Parameters:s A string of '0' and '1' characters.
position Index of the first character in s to use; defaults to
zero.
Exceptions:
std::out_of_range If
pos is bigger the size of s.
std::invalid_argument If a character appears in the
string which is neither '0' nor '1'.
template<size_t _Nb> template<class _CharT , class _Traits , class _Alloc > std::bitset< _Nb >::bitset (const std::basic_string< _CharT, _Traits, _Alloc > &__s, size_t__position, size_t__n) [inline]¶
Use a subset of a string. Parameters:s A string of '0' and '1' characters.
position Index of the first character in s to use.
n The number of characters to copy.
Exceptions:
std::out_of_range If
pos is bigger the size of s.
std::invalid_argument If a character appears in the
string which is neither '0' nor '1'.
Member Function Documentation¶
template<size_t _Nb> bool std::bitset< _Nb >::all () const [inline]¶
Tests whether all the bits are on. Returns:True if all the bits are set.
template<size_t _Nb> bool std::bitset< _Nb >::any () const [inline]¶
Tests whether any of the bits are on. Returns:True if at least one bit is set.
template<size_t _Nb> size_t std::bitset< _Nb >::count () const [inline]¶
Returns the number of bits which are set. Definition at line 1130 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::flip () [inline]¶
Toggles every bit to its opposite value. Definition at line 963 of file bitset. Referenced by std::bitset< _S_match_flag_last >::operator~().template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::flip (size_t__position) [inline]¶
Toggles a given bit to its opposite value. Parameters:position The index of the bit.
Exceptions:
std::out_of_range If
pos is bigger the size of the set.
template<size_t _Nb> bool std::bitset< _Nb >::none () const [inline]¶
Tests whether any of the bits are on. Returns:True if none of the bits are set.
template<size_t _Nb> bool std::bitset< _Nb >::operator!= (const bitset< _Nb > &__rhs) const [inline]¶
These comparisons for equality/inequality are, well, bitwise. Definition at line 1145 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::operator&= (const bitset< _Nb > &__rhs) [inline]¶
Operations on bitsets. Parameters:rhs A same-sized bitset.
These should be self-explanatory.
Definition at line 810 of file bitset.
template<size_t _Nb> bitset<_Nb> std::bitset< _Nb >::operator<< (size_t__position) const [inline]¶
Self-explanatory. Definition at line 1192 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::operator<<= (size_t__position) [inline]¶
Operations on bitsets. Parameters:position The number of places to
shift.
These should be self-explanatory.
Definition at line 839 of file bitset.
template<size_t _Nb> bool std::bitset< _Nb >::operator== (const bitset< _Nb > &__rhs) const [inline]¶
These comparisons for equality/inequality are, well, bitwise. Definition at line 1141 of file bitset.template<size_t _Nb> bitset<_Nb> std::bitset< _Nb >::operator>> (size_t__position) const [inline]¶
Self-explanatory. Definition at line 1196 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::operator>>= (size_t__position) [inline]¶
Operations on bitsets. Parameters:position The number of places to
shift.
These should be self-explanatory.
Definition at line 852 of file bitset.
template<size_t _Nb> reference std::bitset< _Nb >::operator[] (size_t__position) [inline]¶
Array-indexing support. Parameters:position Index into the bitset.
Returns:
A bool for a 'const bitset'. For non-const
bitsets, an instance of the reference proxy class.
Note:
These operators do no range checking and throw
no exceptions, as required by DR 11 to the standard.
_GLIBCXX_RESOLVE_LIB_DEFECTS Note that this implementation already resolves DR
11 (items 1 and 2), but does not do the range-checking required by that DR's
resolution. -pme The DR has since been changed: range-checking is a
precondition (users' responsibility), and these functions must not throw. -pme
Definition at line 1004 of file bitset.
template<size_t _Nb> bool std::bitset< _Nb >::operator[] (size_t__position) const [inline]¶
Array-indexing support. Parameters:position Index into the bitset.
Returns:
A bool for a 'const bitset'. For non-const
bitsets, an instance of the reference proxy class.
Note:
These operators do no range checking and throw
no exceptions, as required by DR 11 to the standard.
_GLIBCXX_RESOLVE_LIB_DEFECTS Note that this implementation already resolves DR
11 (items 1 and 2), but does not do the range-checking required by that DR's
resolution. -pme The DR has since been changed: range-checking is a
precondition (users' responsibility), and these functions must not throw. -pme
Definition at line 1008 of file bitset.
template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::operator^= (const bitset< _Nb > &__rhs) [inline]¶
Operations on bitsets. Parameters:rhs A same-sized bitset.
These should be self-explanatory.
Definition at line 824 of file bitset.
template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::operator|= (const bitset< _Nb > &__rhs) [inline]¶
Operations on bitsets. Parameters:rhs A same-sized bitset.
These should be self-explanatory.
Definition at line 817 of file bitset.
template<size_t _Nb> bitset<_Nb> std::bitset< _Nb >::operator~ () const [inline]¶
See the no-argument flip(). Definition at line 985 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::reset () [inline]¶
Sets every bit to false. Definition at line 938 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >::reset (size_t__position) [inline]¶
Sets a given bit to false. Parameters:position The index of the bit.
Exceptions:
std::out_of_range If
pos is bigger the size of the set.
Same as writing set(pos,false).
Definition at line 952 of file bitset.
template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >:: set () [inline]¶
Sets every bit to true. Definition at line 913 of file bitset.template<size_t _Nb> bitset<_Nb>& std::bitset< _Nb >:: set (size_t__position, bool__val = true) [inline]¶
Sets a given bit to a particular value. Parameters:position The index of the bit.
val Either true or false, defaults to true.
Exceptions:
std::out_of_range If
pos is bigger the size of the set.
template<size_t _Nb> size_t std::bitset< _Nb >::size () const [inline]¶
Returns the total number of bits. Definition at line 1135 of file bitset.template<size_t _Nb> bool std::bitset< _Nb >::test (size_t__position) const [inline]¶
Tests the value of a bit. Parameters:position The index of a bit.
Returns:
The value at pos.
Exceptions:
std::out_of_range If
pos is bigger the size of the set.
template<size_t _Nb> template<class _CharT , class _Traits , class _Alloc > std::basic_string<_CharT, _Traits, _Alloc> std::bitset< _Nb >::to_string () const [inline]¶
Returns a character interpretation of the bitset. Returns:The string equivalent of the bits.
Note the ordering of the bits: decreasing character positions correspond to
increasing bit positions (see the main class notes for an example).
Definition at line 1032 of file bitset.
template<size_t _Nb> unsigned long std::bitset< _Nb >::to_ulong () const [inline]¶
Returns a numerical interpretation of the bitset. Returns:The integral equivalent of the bits.
Exceptions:
std::overflow_error If
there are too many bits to be represented in an unsigned
long.
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.Thu Aug 2 2012 | libstdc++ |