#include <map>

template <typename T, typename Comparator = std::less<typename T::Key>>
struct Container
{
    std::map<typename T::Key, T*, Comparator> m;
};

struct Thing 
{
    typedef int Key; 
};

int main()
{
    Container<Thing> c;
}