0
ответов

Какой лучший способ создать шаблон функции только для специализации?

Есть ли лучший способ сделать следующее? #include template T Bar(); template <> int Bar() { return 3; } // Потенциально возможны другие специализации ...
вопрос задан: 29 November 2011 03:27
0
ответов

специализирующийся на iterator_traits

Я хотел бы специализировать std :: iterator_traits <> для итераторов шаблона класса контейнера, который не имеет обычных вложенных определений типов (например, value_type, difference_type и т. д.) и чей источник я ...
вопрос задан: 28 October 2011 11:57
0
ответов

Почему компоновщик жалуется на несколько определений в этом шаблоне? [duplicate]

Этот небольшой фрагмент кода вызывает гнев компоновщика, если он включен как минимум в две единицы перевода (файлы cpp): # ifndef MAXIMUM_HPP # define MAXIMUM_HPP template T максимум (...
вопрос задан: 25 October 2011 00:52
0
ответов

Могу ли я специализировать шаблон класса с помощью шаблона псевдонима?

Вот простой пример: class bar {}; template class foo {}; template <> using foo = bar; Разрешено ли это?
вопрос задан: 18 October 2011 00:48
0
ответов

Явная специализация после создания экземпляра

У меня есть следующий код: typedef vector Vec; typedef vector VecOfVec; template Vec DoSomething (const Vec & v); template <> VecOfVec DoSomething & ...
вопрос задан: 14 October 2011 22:21
0
ответов

Специализация шаблона с помощью вариативных шаблонов

template void doStuff (Params ...) {{{1} }} template <> void doStuff (int, bool) {} int main (int, char **) {doStuff <1, int, ...
вопрос задан: 14 October 2011 11:53
0
ответов

Специализация шаблона оператора преобразования

Это в основном академическое упражнение по пониманию операторов преобразования, шаблонов и специализаций шаблонов. Шаблон оператора преобразования в следующем коде работает для int, float и ...
вопрос задан: 12 October 2011 16:49
0
ответов

Специализация шаблона функции C ++

Для данного кода: class X { public: template void func (const T & v); }; template <> void X :: func (const int & v) { } template <> void X :: ...
вопрос задан: 12 October 2011 10:46
0
ответов

специализация шаблона с несколькими параметрами шаблона

Скажем, у меня есть следующее: template класс foo { public: void set(const T &t); }; template void foo::set(const T &t) { int s = X; // ...
вопрос задан: 4 October 2011 04:36
0
ответов

специализация шаблона для всех подклассов

Я хотел бы определить специализацию шаблона C ++, которая применяется ко всем подклассам данного базового класса. Это возможно? В частности, я хотел бы сделать это для хеша STL <>. хеш <> это ...
вопрос задан: 1 October 2011 17:39
0
ответов

специализация метода enable_if

шаблон структура A {A оператор% (const T & x); }; шаблон A A :: operator% (const T & x) {...} Как я могу использовать enable_if для ...
вопрос задан: 1 October 2011 14:53
0
ответов

Можно ли специализировать определение шаблона на основе существования вложенного typedef параметра типа шаблона?

У меня есть шаблон, оболочка класса template , на котором я хотел бы специализироваться на основе наличие typename T :: context_type. Если имя типа T :: context_type объявлено, то ...
вопрос задан: 27 September 2011 21:32
0
ответов

Специализация шаблона другой шаблоном (одного класса)

Я пишу класс массива. Этот класс массива может содержать снова массивы в качестве членов. При внедрении функции печати мне нужны специализации. 26: Шаблон <класс T> Массив класса: Public ...
вопрос задан: 1 September 2011 10:20
0
ответов

частичная специализация шаблона

У меня есть сценарий, в котором есть шаблонный класс template класс Foo {typedef Y :: NestedType Bar; int A (Барная вещь); void B (); int C (X это); // другие вещи }; ...
вопрос задан: 18 August 2011 19:01
0
ответов

Это неправильный учебник? Специализируясь на некоторых функциях-членах, но не на других

Я читаю «Полное руководство по шаблонам C ++» Вандевурда и Йосуттиса (которое, кстати, кажется довольно хорошим). Это утверждение (раздел 3.3) кажется неправильным и отсутствует в опубликованном списке исправлений: Если ...
вопрос задан: 3 August 2011 16:55
0
ответов

Где я должен определить оператор >> для моей специализации std :: pair?

Рассмотрим следующую программу: #include #include #include <вектор> #include <служебная программа> используя пространство имен std; // только для удобства, только для иллюстрации ...
вопрос задан: 30 July 2011 18:14
0
ответов

Специализация шаблонов C ++ для функций

Я играю со специализацией шаблонов и обнаружил проблему, которую не могу решить; это мой код: template недействительный тест (массив T *) {... test <...
вопрос задан: 8 July 2011 10:46
0
ответов

Обход специализации шаблона

Предположим, я являюсь пользователем определенной библиотеки шаблонов (CTL), которая определяет шаблон с именем, скажем, Hector template class Hector {...}; И в своей документации он дает много гарантий ...
вопрос задан: 27 June 2011 21:25
0
ответов

Почему мне не нужно определять одни и те же члены, когда я делаю полную специализацию шаблона класса на C ++?

Я очень удивлен, обнаружив, что следующие компилируются: #include using namespace std; шаблон class SomeCls { public: void UseT (T t) {cout << "UseT" ...
вопрос задан: 14 June 2011 07:00
0
ответов

Вопрос о частичной специализации шаблона C ++

У меня проблемы с временем компиляции со следующим кодом: template > class C> bool is_in (const C & ...
вопрос задан: 9 June 2011 19:54
0
ответов

разрешение спецификации и перегрузки шаблонов c ++

Я прочитал шаблоны функций Why Not Specialize и, немного поэкспериментировав, нашел интересную вещь. Вот и main.cxx: // main.cxx #include // Объявления / * ...
вопрос задан: 9 June 2011 17:11
0
ответов

Как для специализации Iterator по его типу значения в C ++?

Можно ли специализировать параметр шаблона Iterator по его value_type? У меня есть функция со следующим прототипом. шаблон <имя типа InputIterator> void f (Сначала InputIterator, ...
вопрос задан: 8 June 2011 03:10
0
ответов

Устранение рекурсивного создания экземпляров шаблонов в C ++

Я хочу определить макрос, который можно вызывать в разных местах (в области видимости файла), чтобы создавать функции, которые что-то делают. (В приведенном ниже примере функции просто выводят сообщение, но ...
вопрос задан: 6 June 2011 07:35
0
ответов

Дублирование кода и специализация шаблона (когда специализированная функция имеет разные типы возвращаемых значений)

Я создаю шаблонный класс D с методом (в данном случае operator ()), который возвращает разные типы в зависимости от значения N. Я мог бы выполнить эту работу только путем создания двух отдельных ...
вопрос задан: 2 June 2011 21:01
0
ответов

Частичная специализация шаблона для указателя на функцию __stdcall

typedef bool (* my_function_f) (int, double); typedef bool (__stdcall * my_function_f2) (int, double); // ^^^^^^^^^ template class TFunction; template
вопрос задан: 13 May 2011 12:00
0
ответов

Частичная специализация функции-члена с не -type параметр

У меня есть класс шаблона с типом и параметром шаблона без типа. Я хочу специализировать функцию-член и обнаружил, что, как в приведенном ниже примере, я могу выполнить полную специализацию в порядке. ...
вопрос задан: 16 April 2011 17:42
0
ответов

выбрать правильную специализацию шаблона во время выполнения

У меня есть шаблон struct a {static void f (); }; со специализациями, сделанными в разных местах кода. Как я могу вызвать правильный a :: f для i, известного только во время выполнения? ...
вопрос задан: 11 April 2011 14:35
0
ответов

Специализация шаблона c ++ - множественные определения ошибок компоновщика

Мой третий вопрос здесь сегодня ;-), но я действительно новичок в программировании шаблонов c ++ и перегрузке операторов. Я пробую следующее: terminallog.hh // фрагмент кода класса Terminallog { public: ...
вопрос задан: 27 March 2011 23:58
0
ответов

ошибка компиляции специализации шаблона функции

## A.hh template void func (T t) {} шаблон <> void func (int t) {} void func2 (); ## A.cpp void func2 () {} ## main.cpp func ("привет"); func (int ()); Я получаю следующую ошибку: ...
вопрос задан: 24 March 2011 09:45
0
ответов

C ++ Использование указателей на объекты шаблона

У меня есть класс с именем ABC, у которого есть шаблон класса: template class ABC {} В другом классе я пытаюсь сохранить объекты ABC в списке: class CDE { private: list ...
вопрос задан: 23 February 2011 23:52