00001
00019 #ifndef MANGO_STL_MAP_CONTAINER_CLONER_H
00020 #define MANGO_STL_MAP_CONTAINER_CLONER_H
00021
00022 #include "CntrCloner.hh"
00023 #include <map>
00024
00025 namespace MangoPtr
00026 {
00028 template <typename T, typename U, typename V, typename W>
00029 struct CntrCloner<std::map<T*, U, V, W> >
00030 {
00031 typedef std::map<T*,U,V,W> Map;
00032 static void execute(Map& obj) {CntrClonerSorted<Map>::execute(obj); }
00033 };
00034
00036 template <typename T, typename U, typename V, typename W>
00037 struct CntrCloner<std::multimap<T*, U, V, W> >
00038 {
00039 typedef std::multimap<T*,U,V,W> Map;
00040 static void execute(Map& obj) {CntrClonerSorted<Map>::execute(obj); }
00041 };
00042
00043 }
00044
00045 #endif // MANGO_STL_MAP_CONTAINER_CLONER_H
00046