Skip to content
Snippets Groups Projects
  • Jonathan Wakely's avatar
    cddaff46
    libstdc++: Implement P2918R0 "Runtime format strings II" for C++26 · cddaff46
    Jonathan Wakely authored
    This adds std::runtime_format for C++26. These new overloaded functions
    enhance the std::format API so that it isn't necessary to use the less
    ergonomic std::vformat and std::make_format_args (which are meant to be
    implementation details). This was approved in Kona 2023 for C++26.
    
    libstdc++-v3/ChangeLog:
    
    	* include/std/format (__format::_Runtime_format_string): Define
    	new class template.
    	(basic_format_string): Add non-consteval constructor for runtime
    	format strings.
    	(runtime_format): Define new function for C++26.
    	* testsuite/std/format/runtime_format.cc: New test.
    cddaff46
    History
    libstdc++: Implement P2918R0 "Runtime format strings II" for C++26
    Jonathan Wakely authored
    This adds std::runtime_format for C++26. These new overloaded functions
    enhance the std::format API so that it isn't necessary to use the less
    ergonomic std::vformat and std::make_format_args (which are meant to be
    implementation details). This was approved in Kona 2023 for C++26.
    
    libstdc++-v3/ChangeLog:
    
    	* include/std/format (__format::_Runtime_format_string): Define
    	new class template.
    	(basic_format_string): Add non-consteval constructor for runtime
    	format strings.
    	(runtime_format): Define new function for C++26.
    	* testsuite/std/format/runtime_format.cc: New test.