История изменений
Исправление
pavlick,
(текущая версия)
:
Вы лучше гляньте как народ раньше кол-во аргументов считал ), более того - многие способы не подходят, тут сложный случай с запятыми в скобках, да и сам скобки. А новые фичи очень элегантно вписываются. Кстати, макрос сокращается до такого:
#define call_baz(...) \
Baz(std::array<Foo, args_cnt(#__VA_ARGS__)>{ Foo __VA_ARGS__})
Ну не знаю, по-моему вполне симпатично, я на шаблонах писал в тысячу раз более лютый венегрет.
Исходная версия
pavlick,
:
Вы лучше гляньте как народ раньше кол-во аргументов считал ), более того - многие способы не подходят, тут сложный случай с запятыми в скобках, да и сам скобки. А новые фичи очень элегантно вписываются. Кстати, макрос сокращается до такого:
#define call_baz(...) \
Baz(std::array<Foo, args_cnt(#__VA_ARGS__)>{ Foo __VA_ARGS__})
Ну не знаю, по-моему вполне симпотично, я на шаблонах писал в тысячу раз более лютый венегрет.