Рассматривая этот вопрос, я оказался на справочном сайте cpp где я заметил странный и новый для меня синтаксис:
template<class Ret, class... Args>
struct is_function<Ret(Args......)volatile &&> : std::true_type {};
Да, 6 точек! Первоначально я думал, что это была опечатка, но после проверки libstdС++ source снова это было, например, в строке 444:
template<typename _Res, typename... _ArgTypes>
struct is_function<_Res(_ArgTypes......) volatile &&> : public true_type { };
Является ли это допустимым синтаксисом? Точечная точка, используется для упаковки и распаковки пакетов параметров? Что делают 6 точек?