operator[] для tuple

riad
riad

get<index>(t); выглядит не красиво

t[0] -- красиво, но пока сложно получить

 

Но, можно добиться 

 

t[0_i], 

 

если сделать чтобы N_i возвращал тип, в котором зашито N (например std::integral_constant<size_t, N>), и добавить tuple::operator[этот тип]

5
рейтинг
5 комментариев
Antervis

для этого нужна семантика compile-time аргументов для runtime функций. 

Antervis
riad

Antervis, для предлагаемого решения не нужна -- идея в том, чтобы закодировать число в тип, который уже известен на этапе компиляции

riad
Antervis

riad, тогда даже не получится написать что-то вроде t[cond ? 0 : 1];

Antervis
Антон

Как вариант для обсуждения -- добавление мембера

tuple<...>::get<index>()

или

tuple<...>::at<index>()
Антон
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения