Recent versions of C++ (C++20) have a new feature: concepts. A concept in C++ is a named set of requirements that a type must satisfy. E.g., ‘act like a string’ or ‘act like a number’. In C++, we have two closely related terms: traits and concepts. For example, std::is_floating_point is a type trait that checks if a type is a floating-point type. A concept in C++ is used to specify requirements for template parameters. So std::floating_point is the concept corresponding to the trait s...