Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)
	  >							       (const-
       expr 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	repre-
       sent 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::alloca-
       tor<CharT>>(zero, one).
	  4)	  to_string<char,     std::char_traits<char>,	  std::alloca-
       tor<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	 argu-
       ments. LWG issue	1113
	  removed  the	helper overloads (2-4) and added the corresponding de-
       fault 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 retroac-
       tively to
	  previously published C++ standards.

	    DR	  Applied to	     Behavior as  published		  Cor-
       rect behavior
			     zero and one bits were converted to
	  LWG 396 C++98	     characters	0			   added para-
       meters 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 over-
       loads (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)

http://cppreference.com		  2024.06.10	     std::bitset::to_string(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bitset::to_string&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help