Есть ли какое-либо обновление в предстоящем стандарте C++ 0x по именованным параметрам в шаблонах и/или функциях? Например, хотелось бы, чтобы иметь возможность написать следующее:Именовано? параметры в шаблонах, функции
определив ранее:
template<class T = int,class Policy_1, class Policy_2>
class X
{
};
затем в главном:
X<Policy_2: NoReturn> x;
это то же самое с функциями; имеющий:
void f(int arg_1 = 0, int arg_2 = 1, int arg_3 = 2)
{
}
затем в основной:
f(arg_3: 55);
+1 за то, что не ошибочно заявлял, что это невозможно: p –
Я нашел много пользы для его хотя. При работе с политическим дизайном, где может быть 10 или более параметров шаблона, это ОЧЕНЬ полезно. Boost.Parameter создает беспорядочный код реализации, но чистые и простые в использовании интерфейсы. –
@Noah: для этого достаточно MPL (в сочетании с идеей несущей типа). Другое решение, которое я нашел, - это просто попросить определить внутренний тип 'tag' в каждой политике, которая идентифицирует, к какой категории она принадлежит.Оба они относительно худые. –