c++11 traits classes.