#pragma once #include "TypeTraits.hpp" #include template class Type2ObjectMap { public: template TType& Insert(TType&& value) { // TODO } template TType& InsertOrAssign(TType& value) { // TODO } template TType Remove() { // TODO } template const TValue* Find() const { // TODO } template TValue* Find() { return const_cast(const_cast(this)->Find()); } size_t size() const { // TODO } };