C++20 Concepts in C++03
meghprkh.github.ioC++20 Concepts are a new language feature that ease generic programming, but are primarily syntactic sugar.
We will try to implement them in C++03, with one caveat - we must explicitly specify that a class implements an concept.
NOTE: We will use template specialization and do not need to be able to modify the class or our concept for this.