void map_delete_all_second(const _Map & m) { for(typename _Map::const_iterator iter = m.begin(); iter != m.end(); ++iter) { delete iter->second; } }
void map_get_keys(const _Map & m, std::vector<typename _Map::mapped_type> & l) { l.clear(); for(typename _Map::const_iterator iter = m.begin(); iter != m.end(); ++iter) { l.push_back(iter->first); } }
void map_get_values(const _Map & m, std::list<typename _Map::mapped_type> & l) { l.clear(); for(typename _Map::const_iterator iter = m.begin(); iter != m.end(); ++iter) { l.push_back(iter->second); } }
void map_delete_all_second(const _Map & m) { std::for_each(m.cbegin(), m.cend(), [] (const typename _Map::value_type & p) { delete p.second; } ); }
_Map<_T2, _T1> invert(const _Map<_T1, _T2> &m) { _Map<_T2, _T1> i; typename _Map<_T1, _T2>::const_iterator it = m.constBegin(); for (; it != m.constEnd(); ++it) { i.insertMulti(it.value(), it.key()); } return i; }
void map_get_values(const _Map & m, std::vector<typename _Map::mapped_type> & l) { l.clear(); std::for_each(m.cbegin(), m.cend(), [&l] (const typename _Map::value_type & p) { l.push_back(p.second); } ); }
void map_get_keys(const _Map & m, std::vector<typename _Map::key_type> & l) { l.clear(); std::for_each(m.cbegin(), m.cend(), [&l] (const typename _Map::value_type & p) { l.push_back(p.first); } ); }
map_value_iterator(_Map& _orig_map) { _map_iter = _orig_map.begin(); }
map_key_iterator(_Map& _orig_map) { _map_iter = _orig_map.begin(); }