В настоящее время я работаю над пользовательской оболочкой для типа std::map
с дополнительными методами, такими как ContainsValue()
. Но так как я пытаюсь сделать его максимально совместимым с std :: map, я хотел бы знать, возможно ли инициализировать его «многомерным списком инициализаторов».
Мой пользовательский тип карты определяется следующим образом:
template <typename TKey, typename TValue>
class CustomMap {
private:
std::map<TKey, TValue> mapContent;
public:
// Some interaction methods here
void operator=(/* initialization type here */) {
/* initialization here */
}
}
И я говорю о списке инициализаторов, например:
CustomMap<uint64_t, std::string> test = {
{ 0xFF, "MaxByte" },
{ 0xFFFF, "MaxWord" },
{ 0xFFFFFFFF, "MaxDWord" },
{ 0xFFFFFFFFFFFFFFFF, "MaxQWord" }
};
Обратите внимание, что нет приведения любого типа в инициализация. Все происходит автоматически; как и в оригинальном типе std::map
.