A concept is a compile time requirement that bounds templates which are the generics in C++, so you are close.