collection of metaprograming concepts. How to build Debug cmake .. -DCMAKE_BUILD_TYPE=Debug cmake --build . --config Debug Release cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . --config Release Concept SFINAE - Substitution failure is not an error.