c++11 variants