return i->second;
}
+template<typename D, typename T>
+D *get_item(const T &map, const typename T::key_type &key)
+{
+ return dynamic_cast<D *>(get_item(map, key));
+}
+
template<typename T>
typename T::iterator insert_unique(T &map, const typename T::key_type &key, const typename T::mapped_type &item)
{