X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fcore%2Fmaputils.h;h=66b4e3baf82c50d815f5bcf4ce0615729ebbf0fb;hp=ecee0fbea45955dbf9bef8f8bf296bb387b3e414;hb=acafbe566fb6f6b5592a2ec3dec667ba7cd3e7e4;hpb=85c6b143c9b85ce09ee4f3cb842d3ae006b7a6fe diff --git a/source/core/maputils.h b/source/core/maputils.h index ecee0fb..66b4e3b 100644 --- a/source/core/maputils.h +++ b/source/core/maputils.h @@ -74,8 +74,14 @@ const typename T::mapped_type &get_item(const T &map, const typename T::key_type return i->second; } +template +D *get_item(const T &map, const typename T::key_type &key) +{ + return dynamic_cast(get_item(map, key)); +} + template -const typename T::iterator insert_unique(T &map, const typename T::key_type &key, const typename T::mapped_type &item) +typename T::iterator insert_unique(T &map, const typename T::key_type &key, const typename T::mapped_type &item) { if(map.count(key)) throw key_error(key);