Testing framework for C++ template metaprograms