#pragma once #include "Set.h" // template // using TPair = TTuple; template class TPair { public: KeyType First; ValueType Second; FORCEINLINE KeyType& Key() { return First; } FORCEINLINE const KeyType& Key() const { return First; } FORCEINLINE ValueType& Value() { return Second; } FORCEINLINE const ValueType& Value() const { return Second; } }; template //, typename SetAllocator, typename KeyFuncs> class TMapBase { public: typedef TPair ElementType; typedef TSet ElementSetType; ElementSetType Pairs; }; template //, typename SetAllocator, typename KeyFuncs> class TSortableMapBase : public TMapBase //, SetAllocator, KeyFuncs> { }; template //,typename SetAllocator /*= FDefaultSetAllocator*/, typename KeyFuncs /*= TDefaultMapHashableKeyFuncs*/> class TMap : public TSortableMapBase //, SetAllocator, KeyFuncs> { };