In particular, std::set and std::map expect objects to be less-than-comparable and std::unordered_set and std::unordered_map to have a specialization of std::hash.
C++11 stuff could go in a separate file that is conditionally included based on the C++ version.
In particular,
std::setandstd::mapexpect objects to be less-than-comparable andstd::unordered_setandstd::unordered_mapto have a specialization ofstd::hash.C++11 stuff could go in a separate file that is conditionally included based on the C++ version.