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(), for-
     mat_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  se-
     quence
	(C++17)  (function)

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

home | help