Open apolukhin opened 3 years ago
yndx-antoshkka, 11 декабря 2018, 12:20 Отличная идея. Для симметрии, стоит добавить аналогичный функционал для std::tuple
Andrey Davydov, 11 декабря 2018, 15:34 А Вы можете показать пример использования variant_index? Я совершенно не против Вашей идеи, просто хотелось бы увидеть пару конкретных примеров.
Перенос предложения: голоса +5, -0 Автор идеи: Олег Фатхиев
Сейчас для std::variant можно узнать тип из его вариадичного списка по его индексу в нём, но нельзя сделать обратную операцию: узнать индекс типа.
Предлагается добавить функцию std::variant_index/std::variant_index_v
Она могла бы выглядеть как-то так:
Где index_of - некая метафункция, возвращающая индекс типа T в списке типов std::variant.
Нужно также определить поведение этой функции:
Если T не содержится в Ts... (или T содержится в Ts... больше 1 раза), то поведение не определено.
Включать ли пункт про наличие T в Ts... больше одного раза - непонятно, это нужно обсудить.