Concepts provide us a common interface for structs, classes, interfaces, even arrays.
Concepts can be practically extended.
Concepts can be used for template specialization and as compile time constraints and as a static interface.

Also we can use concepts as traits like that:

static if (is(T : Concept)) { }

instead of

static if (satisfiesConcept!T) { }

Reply via email to