Concepts
From cppreference.com
Concepts is a term that describes properties of a type. They are used to specify requirements to the types that are passed to specific template.
There was a proposal to include formal specification of concepts into the C++ language, so that the compiler could check the types before template instantiation and in turn could have a chance to produce sensible error messages in case a type did not fulfil the template requirements. Unfortunately, the concepts were not accepted into the C++11 standard due to their complexity.
Basic concepts |