шаблоны typedef в глобальном масштабе - PullRequest
0 голосов
/ 13 октября 2010

используя шаблоны классов, я обычно делаю несколько typedefs как:

typedef super<puper<complex<template<type> > > > simple_name

Обычно я делаю это двумя способами:

template <class A, ...>
struct Types {
    typedef ...
}

template <class A, ...>
class Part_Of_Logick {
    public:
        typedef ...
}

Можно ли установить typedefs в глобальной области видимости? как это:

template <class A, ...>
typedef ...

Ответы [ 2 ]

3 голосов
/ 13 октября 2010

Я понимаю, что вы имеете в виду написание шаблонного typedef, которое создаст второй шаблон с фиксированными аргументами первого шаблона.Если это вопрос, нет, не в текущем стандарте.В следующем стандарте c ++ 0x вы сможете:

template <typename A, typename B> a_template;
template <typename T>
using other_template = a_template<T, int>;
1 голос
/ 13 октября 2010

Нет в C ++ 98. C ++ 0x будет поддерживать это. Хотя я не могу точно вспомнить синтаксис C ++ 0x.

Приветствия и hth.,

- Альф

...