Как проверить, может ли std::variant содержать определенный тип ⇐ C++
Как проверить, может ли std::variant содержать определенный тип
У меня есть класс с std::variant. Этот тип std::variant может содержать только определенный список типов.
У меня есть функции шаблона, которые позволяют пользователю класса вставлять различные значения в std::unordered_map, карта содержит значения этого типа варианта. То есть пользователю разрешено вставлять значения только в том случае, если его тип находится в определенном списке типов. Однако я не хочу, чтобы пользователь мог самостоятельно определять этот список типов.
класс GLCapabilities { публика: используя VariantType = std::variant; // в будущем у этого будут другие типы шаблон std::enable_if_t AddCapability(имя параметра const GLenum) { если (m_capabilities.count (имя параметра) == 0) { /*... получить правильное значение типа T ... */ m_capabilities.insert(имя параметра, значение); } } шаблон std::enable_if_t
У меня есть класс с std::variant. Этот тип std::variant может содержать только определенный список типов.
У меня есть функции шаблона, которые позволяют пользователю класса вставлять различные значения в std::unordered_map, карта содержит значения этого типа варианта. То есть пользователю разрешено вставлять значения только в том случае, если его тип находится в определенном списке типов. Однако я не хочу, чтобы пользователь мог самостоятельно определять этот список типов.
класс GLCapabilities { публика: используя VariantType = std::variant; // в будущем у этого будут другие типы шаблон std::enable_if_t AddCapability(имя параметра const GLenum) { если (m_capabilities.count (имя параметра) == 0) { /*... получить правильное значение типа T ... */ m_capabilities.insert(имя параметра, значение); } } шаблон std::enable_if_t
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение