table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::bitset::to_string(3) | C++ Standard Libary | std::bitset::to_string(3) | 
NAME¶
std::bitset::to_string - std::bitset::to_string
Synopsis¶
 template< class CharT, class Traits, class Allocator
  
   >
  
   std::basic_string<CharT, Traits, Allocator> (until C++11)
  
   to_string( CharT zero = CharT('0'),
  
   CharT one = CharT('1') ) const;
  
   template<
  
   class CharT = char,
  
   class Traits = std::char_traits<CharT>,
  
   class Allocator = std::allocator<CharT> (since C++11)
  
   > (constexpr since C++23)
  
   std::basic_string<CharT, Traits, Allocator>
  
   to_string( CharT zero = CharT('0'),
  
   (1)
  
   CharT one = CharT('1') ) const;
  
   template< class CharT, class Traits >
  
   std::basic_string<CharT, Traits> (2) (until C++11)
  
   to_string( CharT zero = CharT('0'),
  
   CharT one = CharT('1') ) const;
  
   template< class CharT >
  
   std::basic_string<CharT> to_string( CharT zero =
  
   CharT('0'), (3) (until C++11)
  
   CharT one =
  
   CharT('1') ) const;
  
   std::string to_string( char zero = '0', char one = (4) (until
    C++11)
  
   '1' ) const;
  
   Converts the contents of the bitset to a string. Uses zero to represent bits
    with
  
   value of false and one to represent bits with value of true.
  
   The resulting string contains N characters with the first character
    corresponds to
  
   the last (N-1^th) bit and the last character corresponding to the first
  bit.
  
   All template type arguments need to be provided because function
  
   templates cannot have default template arguments. Overloads (2-4) are
  
   provided to simplify the invocations of to_string:
  
   2) Uses the default allocator std::allocator. (until C++11)
  
   3) Uses the default character trait std::char_traits and the default
  
   allocator std::allocator.
  
   4) Uses the default character type char, the default character trait
  
   std::char_traits and the default allocator std::allocator.
Parameters¶
 zero - character to use to represent false
  
   one - character to use to represent true
Return value¶
 1) The converted string.
  
   2) to_string<CharT, Traits, std::allocator<CharT>>(zero, one).
  
   3) to_string<CharT, std::char_traits<CharT>,
    std::allocator<CharT>>(zero, one).
  
   4) to_string<char, std::char_traits<char>,
    std::allocator<char>>(zero, one).
Exceptions¶
May throw std::bad_alloc from the std::basic_string constructor.
Notes¶
 Since C++11, functions templates can have default template
    arguments. LWG issue 1113
  
   removed the helper overloads (2-4) and added the corresponding default
    template
  
   arguments in (1).
Example¶
// Run this code
  
   #include <bitset>
  
   #include <iostream>
  
   int main()
  
   {
  
   std::bitset<8> b{42};
  
   std::cout << b.to_string() << '\n'
  
   << b.to_string('*') << '\n'
  
   << b.to_string('O', 'X') << '\n';
  
   }
Output:¶
 00101010
  
   **1*1*1*
  
   OOXOXOXO
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   zero and one bits were converted to
  
   LWG 396 C++98 characters 0 added parameters to provide
  
   and 1 (which do not correspond to '0' values for these characters
  
   and '1')
  
   LWG 434 C++98 all template arguments needed to be added overloads (2-4)
  
   provided
  
   overloads (2-4) did not have the
  
   LWG 853 C++98 default also added
  
   arguments added by LWG issue 396
See also¶
 to_ulong returns an unsigned long integer representation of the
    data
  
   (public member function)
  
   to_ullong returns an unsigned long long integer representation of the data
  
   (C++11) (public member function)
| 2024.06.10 | http://cppreference.com |