Описание тега variable-templates
Используйте этот тег для всего, что связано с шаблонами переменных C++14.
1
ответ
Парсеры Spirit-X3, хранящиеся в переменных шаблонах, не работают на Clang
У меня есть работающий синтаксический анализатор Spirit-X3, который может анализировать две тесно связанные грамматики для настройки положений черновиков и шашек. Я определяю две переменные специализации шаблонов как парсеры для двух диалектов грамм…
03 сен '16 в 13:23
2
ответа
Накладные расходы на переменный шаблон
C++14 представил шаблоны переменных ( Шаблоны переменных). template<class T> constexpr T pi = T(3.1415926535897932385); // variable template template<class T> T circular_area(T r) // function template { return pi<T> * r * r; // pi&…
29 фев '16 в 08:32
2
ответа
Шаблон переменной шаблона?
Допустим, у вас есть тип кортежа, и вы хотите извлечь его пакет параметров шаблона, чтобы создать экземпляр другого шаблона. Если это шаблон типа, то у меня может быть такая утилита: template < typename Tuple, template <typename...> typenam…
23 окт '16 в 08:29
2
ответа
Множественные переменные специализации шаблона с помощью std::enable_if
Я пытаюсь кратко определить шаблон переменной с этими эффективными значениями: // (template<typename T> constexpr T EXP = std::numeric_limits<T>::max_exponent / 2;) // float and double scalar definitions: const double huge = std::scalbn(…
30 дек '18 в 23:42
1
ответ
Можно ли изменить шаблон переменной?
Сегодня кто-то подарил мне код следующей формы: #include <iostream> namespace example { template <typename T> T variable_template = T(42); } int main() { example::variable_template<int> = 10; std::cout << example::variable_te…
08 янв '17 в 02:38
1
ответ
Шаблон переменной не может связать
Следующий код: template<typename T> constexpr T foo { 1.2345 }; template<typename T> T fun(T x) { return -foo<T> * x; } int main() { fun(2.0); } скомпилирован с использованием gcc версии 5.1.0 в Linux g++ gcc-bug.cpp -std=c++14 зав…
02 мар '16 в 21:00
2
ответа
Шаблон переменной в классе шаблона - непредвиденная ошибка (возможная ошибка?)
Наличие: struct Value { template<class T> static constexpr T value{0}; }; (0) идеон template<typename TValue> struct Something { void x() { static_assert(TValue::template value<int> == 0, ""); } }; int main() { Something<Value&g…
17 авг '15 в 12:14
2
ответа
Могу ли я использовать шаблон переменной для объявления другого шаблона переменной?
Шаблоны переменных в C++14 (и Clang уже их поддерживают) и предложение стандарта is_same_v и аналогично чертам типа, я подумал, что возможность создавать новые черты типа следующим образом: template<typename T> constexpr bool is_const_and_vola…
26 янв '14 в 02:12
2
ответа
Удивительная ценность про лямбду и cin.get
Среда: vs2013 rc5 / vs2017;проект: консольное приложение win32 ; представление: скомпилируйте и запустите немного, затем прервите и просмотрите переменную "task_";если "add_task(&Test;::print, &t;, str, 10)" в func main, "task_" - правильное значени…
25 сен '17 в 03:57
2
ответа
Переменные шаблона безопасны для потока? они размещены в сегменте данных?
Я играю с новой функцией шаблонных переменных из C++14, чтобы привыкнуть к ней (возможно, скоро это сделают, потому что кажется, что некоторые компиляторы не реализовали ее полностью). Теперь мне интересно, где лежит каждый экземпляр переменной шабл…
24 мар '15 в 10:37
2
ответа
Использование шаблона переменной внутри встроенной функции constexpr без раскрытия шаблона переменной?
Можно ли использовать шаблон переменной внутри встроенной функции constexpr, не раскрывая сам шаблон переменной? Например, это компилируется и работает: template<typename T> constexpr T twelve_hundred = T(1200.0); template<typename T> in…
15 фев '17 в 17:36
1
ответ
Ошибка автоматического изменения шаблона переменной Clang
Я пошел посмотреть, можно ли использовать auto в объявлении шаблона переменной. template <typename T> auto F = T{}; Хорошо, но как только вы попробуете это использовать, лязгните в кости. int f = F<int>; // error: cannot initialize a var…
15 фев '14 в 19:29
1
ответ
Ошибка шаблонных переменных с лямбдами в Visual Studio?
C++14 предоставляет переменные шаблоны, которые прекрасно работают в /questions/tagged/visual-studio-2017, но в лямбдах они, кажется, распадаются. Например: template <typename T> const auto PI = std::acos(static_cast<T>(-1)); int main()…
05 мар '18 в 18:37
1
ответ
C++14 предупреждение: слишком много заголовков шаблона для переменной (должно быть 0)
Экспериментируя с недавним компилятором g++-5, я записал в файл следующее утверждение: template<T> T a; template<> int a = 1; Что приводит к: предупреждение: слишком много заголовков шаблонов для a (должно быть 0) Также эффективно, это н…
05 май '15 в 11:26
1
ответ
Можно ли использовать мета-функцию type to value в качестве псевдонима переменной в C++14?
Рассматривая предложения псевдонимов мета-функций в C++14 ( TransformationTraits Redux, v2, N3655), я заметил, что не только преобразования типа в тип (например, add_const), введите значение мета-функции (например, is_void) также являются псевдонима…
30 ноя '13 в 06:22
1
ответ
Специализация шаблонной переменной (для шаблона шаблонного класса)
Когда я пытаюсь специализировать переменную шаблона для универсального контейнера (например, std::list<...>а не для конкретного, например std::list<double>) Я получаю ошибку связи с gcc 5.3 (но не с clang 3.5) /tmp/ccvxFv3R.s: Assembler …
27 янв '16 в 02:38
2
ответа
Шаблон переменной в области видимости класса
Используя N3651 в качестве основы, Шаблон переменной в области видимости - это шаблон статического члена данных. Пример приведен ниже: struct matrix_constants { template <typename T> using pauli = hermitian_matrix<T, 2>; Все же все следу…
31 янв '14 в 06:49
1
ответ
Шаблоны рекурсивных переменных
Я пытался использовать переменные шаблоны таким же образом, как я использую некоторые другие шаблоны, например: мы уже знаем, как вычислить число Фибоначчи или степень числа, используя метапрограммирование с объектами шаблона, оборачивающими статиче…
18 мар '15 в 09:13
2
ответа
Разделение в шаблоне переменных возвращает ноль в Visual Studio 2017
Вероятно, это ошибка /questions/tagged/visual-studio-2017, связанная с этим вопросом: Ошибка шаблонных переменных в Lambdas в Visual Studio? И, как упоминалось в комментариях, похоже, что это связано с оптимизатором. Деление в определении шаблона пе…
05 мар '18 в 20:07
1
ответ
Моделирование nan/inf в шаблоне переменных constexpr
Есть ли способ симулировать нано / инф в постоянном выражении и без! используя макросы C HUGE_VAL и INFINITY или любые другие в этом отношении! Плюс, даже с ними, это все еще не constexpr. Я не хочу использовать какие-либо стандартные функции, котор…
31 дек '15 в 17:15