C++17
C++17 introduces structured bindings, which makes it even easier to deal with multiple return types, as you do not need to rely upon std::tie() or do any manual tuple unpacking:
std::map<std::string, int> m;
// insert an element into the map and check if insertion succeeded
auto [i...