1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
export module SortMap:Interface;
export import <unordered_map>;
export import <vector>;
export
{
template <typename Key, typename Value>
class SortMap: public std::unordered_map<Key, Value>
{
using UMap = std::unordered_map<Key, Value>;
using ValueType = typename UMap::value_type;
using Vect = std::vector<ValueType const *>;
private:
Vect d_sortVect;
public:
Vect const &sort(); // sort the keys // 1.f
template <typename Functor> // use a functor // 2.f
Vect const &sort(Functor const &functor);
};
}
|