#include #include #include #include std::ostream& operator<<(std::ostream& out, const std::multimap &o) { for (auto &i : o) out << "(" << i.first << ", " << i.second << ")\n"; return out; } int main() { std::multimap o; o.insert(std::make_pair(1, 1.1)); o.insert(std::make_pair(1, 1.2)); o.insert(std::make_pair(2, 2.1)); o.insert(std::make_pair(2, 2.2)); std::stringstream sstr; boost::archive::text_oarchive(sstr) << o; std::cout << o << std::endl; std::cout << sstr.str() << std::endl; std::multimap i; boost::archive::text_iarchive(sstr) >> i; std::cout << i << std::endl; }