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

FreeBSD Manual Pages

  
 
  

home | help
std::to_chars_result(3)	      C++ Standard Libary      std::to_chars_result(3)

NAME
       std::to_chars_result - std::to_chars_result

Synopsis
	  Defined in header <charconv>
	  struct to_chars_result;	(since C++17)

	  std::to_chars_result	is the return type of std::to_chars. It	has no
       base classes,
	  and only has the following members.

Notes
	  Feature-test macro  Value    Std			  Feature
			     201611L  (C++17)  Elementary  string  conversions
       (std::to_chars,
	  __cpp_lib_to_chars		     std::from_chars)
			     202306L (C++26) Testing for success or failure of
       <charconv>
					     functions

Example
       // Run this code

	#include <array>
	#include <charconv>
	#include <iostream>
	#include <string_view>
	#include <system_error>

	void show_to_chars(auto... format_args)
	{
	    std::array<char, 10> str;

	#if __cpp_lib_to_chars >= 202306L
	    // use C++26 operator bool() for error checking
	    if	(auto res = std::to_chars(str.data(), str.data() + str.size(),
       format_args...))
		std::cout << std::string_view(str.data(), res.ptr) << '\n';
	    else
		std::cout << std::make_error_code(res.ec).message() << '\n';
	#else
	    if (auto [ptr, ec]
		    = std::to_chars(str.data(),	str.data() + str.size(),  for-
       mat_args...);
		ec == std::errc())
		std::cout << std::string_view(str.data(), ptr) << '\n';
	    else
		std::cout << std::make_error_code(ec).message()	<< '\n';
	#endif
	}

	int main()
	{
	    show_to_chars(42);
	    show_to_chars(+3.14159F);
	    show_to_chars(-3.14159, std::chars_format::fixed);
	    show_to_chars(-3.14159, std::chars_format::scientific, 3);
	    show_to_chars(3.1415926535,	std::chars_format::fixed, 10);
	}

Possible output:
	42
	3.14159
	-3.14159
	-3.142e+00
	Value too large	for defined data type

See also
	  to_chars  converts an	integer	or floating-point value	to a character
       sequence
	  (C++17)  (function)

http://cppreference.com		  2024.06.10	       std::to_chars_result(3)

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

home | help