c++11/boost switch