operator<< (<bitset>)

Inserts a text representation of the bit sequence into the output stream.

template<class CharType, class Traits, size_t N>
   basic_ostream<CharType, Traits>& operator<< (
      basic_ostream<CharType, Traits>& ostr,
      const bitset<N>& _Right
   );

Parameters

  • _Right
    An object of type bitset<N> that is to be inserted into the output stream as a string.

Return Value

A text representation of the bit sequence in ostr.

Remarks

The template function overloads operator<<, allowing a bitset to be written out without first converting it into a string. The template function effectively executes:

ostr << _Right.to_string <CharType, Traits, allocator<CharType> > ( )

Example

// bitset_op_insert.cpp
// compile with: /EHsc
#include <bitset>
#include <iostream>
#include <string>

int main( )
{
   using namespace std;

   bitset<5> b1 ( 9 );

   // bitset inserted into output stream directly
   cout << "The ordered set of bits in the bitset<5> b1(9)"
        << "\n can be output with the overloaded << as: ( "
        << b1 << " )" << endl;

   // Compare converting bitset to a string before
   // inserting it into the output steam
   string s1;
   s1 =  b1.template to_string<char, 
      char_traits<char>, allocator<char> >( );
   cout << "The string returned from the bitset b1"
        << "\n by the member function to_string( ) is: "
        << s1 << "." << endl;
}

Output

The ordered set of bits in the bitset<5> b1(9)
 can be output with the overloaded << as: ( 01001 )
The string returned from the bitset b1
 by the member function to_string( ) is: 01001.

Requirements

Header: <bitset>

Namespace: std

See Also

Other Resources

<bitset> Members