1 #ifndef CASM_unique_cloneable_map_HH
2 #define CASM_unique_cloneable_map_HH
9 template<
typename MapType>
12 typedef typename MapType::iterator::reference
reference;
13 typedef typename MapType::iterator::value_type::second_type::reference
result_type;
18 return *(pair.second);
23 template<
typename MapType>
26 typedef typename MapType::const_iterator::reference
reference;
27 typedef const typename MapType::const_iterator::value_type::second_type::reference
result_type;
32 return *(pair.second);
41 template<
typename KeyType,
typename ValueType,
typename MapType = std::map<KeyType, cloneable_ptr<ValueType> > >
45 GetSecondDereferenced<MapType>,
unique_map< KeyType, ValueType, MapType, GetSecondDereferenced< MapType >, GetSecondDereferencedConst< MapType > > unique_cloneable_map
Enable use of unique_map of cloneable_ptr via references to ValueType. ...
MapType::iterator::reference reference
MapType::const_iterator::reference reference
result_type operator()(reference pair) const
Non-std smart pointer classes and functions.
result_type operator()(reference pair) const
GetSecondDereferencedConst()
const MapType::const_iterator::value_type::second_type::reference result_type
MapType::iterator::value_type::second_type::reference result_type