#ifndef CORE_MAP_HPP #define CORE_MAP_HPP #include #include #include namespace core { inline namespace v2 { template void erase_if (::std::multimap& m, Predicate pred) { for (auto iter = begin(m); iter != end(m);) { invoke(pred, *iter) ? iter = m.erase(iter) : ++iter; } } template void erase_if (::std::map& m, Predicate pred) { for (auto iter = begin(m); iter != end(m);) { invoke(pred, *iter) ? iter = m.erase(iter) : ++iter; } } }} /* namespace core::v2 */ namespace core { inline namespace v2 { namespace pmr { template > using multimap = ::std::multimap< Key, T, Compare, polymorphic_allocator<::std::pair> >; template > using map = ::std::map< Key, T, Compare, polymorphic_allocator<::std::pair> >; }}} /* namespace core::v2::pmr */ #endif /* CORE_MAP_HPP */