In the previous section we covered defining concept requirements. When
specifying some of the requirements already available concepts were used, like
tt(std::same_as). The C2a standard provides some 30 predefined concepts which
may be used to specify type requirements, to specify conversion requirements,
and to specify more advanced requirements, sometimes accepting variadic
template parameters. The currently predefined concepts are covered in the
following subsections.
