The C++20 formatting library is a modern alternative to using printf
-like functions or the I/O streams library, which it actually complements. Although the standard provides default formatting for basic types, such as integral and floating-point types, bool
, character types, strings, and chrono types, the user can create custom specializations for user-defined types. In this recipe, we will learn how to do that.
Getting ready
You should read the previous recipe, Formatting and printing text with std::format and std::print, to familiarize yourself with the formatting library.
In the examples that we’ll be showing here, we will use the following class:
struct employee
{
int id;
std::string firstName;
std::string lastName;
};
In the next section, we’ll introduce the necessary steps to implement to enable text formatting using std::format()
for user-defined types.
How to do it...
To enable...