#include #include #include #include #include #include int main() { std::map m { {1, 2}, {5, 6} }; *sorted_inserter(m)++ = std::make_pair(3, 4); assert((m == std::map{{1,2},{3,4},{5,6}})); std::list lst { "c" }; *sorted_inserter(lst)++ = "a"; *sorted_inserter(lst)++ = "b"; *sorted_inserter(lst)++ = "a"; assert((lst == std::list{"a", "a", "b", "c"})); std::vector v { 5, 7, 3, 12, -5 }; { std::vector res {}; copy(std::begin(v), std::end(v), sorted_inserter(res)); assert((res == std::vector{-5, 3, 5, 7, 12 })); } { std::vector res {}; copy(std::begin(v), std::end(v), sorted_inserter(res, std::greater{})); assert((res == std::vector{12, 7, 5, 3, -5})); } { std::vector res {}; copy(std::begin(v), std::end(v), sorted_inserter, std::greater>(res)); assert((res == std::vector{12, 7, 5, 3, -5})); } }