Мне любопытно, что время поиска вызывает вызов std::get<> на std::tuple<>. Некоторые короткие поисковые запросы (включая справочные страницы, которые обычно имеют эту информацию) не принесли никаких результатов.
Моя первоначальная интуиция (и страх) заключается в том, что рекурсивная структура кортежа (если она реализована в виде вариационного шаблона) приведет к получению требуемого порядка N запросов (вызов get<3>(t) выглядит как t.rest().rest().first(). Я надеюсь, что уйду отсюда...
И снова я надеюсь, что компилятор сможет оптимизировать это, чтобы напрямую вернуть правильное смещение без накладных расходов на N вызовов.
В основном, что я хочу: есть ли гарантия на время выполнения? это ограничивает реализацию std::tuple?