C++ library for detecting compiler and platform properties