Описание тега enable-if
`std::enable_if` is a C++ metafunction template with parameters `bool B`, `class T = void`,
defined in the Standard C++ header `type_traits`. If `B` is true then the instantiating
class defines a public member type `type` equal to `T`; otherwise it does not.
2
ответа
Преобразовать функцию шаблона в общую лямбду
Я хотел бы передать шаблонные функции, как если бы они были общими лямбдами, однако это не работает. #include <iostream> #include <vector> #include <tuple> #include <string> #include <utility> // for_each with std::tupl…
19 июл '17 в 10:06
1
ответ
Создать кнопку печати с включением и отключением на основе значения ячейки Excel
Есть ли способ создать кнопку печати, которая будет отключена, и когда значение моей ячейки в A1 =1 будет увеличено, чтобы распечатать рабочий лист, а когда это будет сделано, оно снова отключится? Это кнопка ActiveX.
18 сен '18 в 13:49
1
ответ
Условная компиляция метода-члена void с использованием enable_if
, #include <iostream> #include <type_traits> using namespace std; template<typename T> struct MyClass{ void hello( void) { hello(std::is_same<T,bool>()); } void hello(std::true_type){ cout<<"hello only for bools"<<…
04 янв '17 в 22:03
6
ответов
Слабосвязанное неявное преобразование
Неявное преобразование может быть действительно полезным, когда типы семантически эквивалентны. Например, представьте две библиотеки, которые реализуют тип одинаково, но в разных пространствах имен. Или просто тип, который в основном идентичен, за и…
15 янв '11 в 20:37
1
ответ
Проблемы с enable_if SFINAE
У меня возникли необъяснимые проблемы с SFINAE в программе, которую я пишу, поэтому я свел ее к отдельному примеру программы: #include <type_traits> struct Base { }; struct Derived : public Base { }; template<typename T> struct From { };…
09 июл '12 в 02:45
1
ответ
Использование enable_if со структурной специализацией
Я пытаюсь определить шаблон, который будет указывать тип хранилища, заданный другим типом T. Я хотел бы использовать enable_if для перехвата всех арифметических типов. Ниже моя попытка этого, которая жалуется, что шаблон повторно объявлен с 2 параме…
08 мар '17 в 17:46
2
ответа
Нужна помощь, чтобы понять функцию шаблона со сложными параметрами typename
Я изучаю книгу Строуструпа "Программирование на C++, 4-е издание". И я стараюсь следовать его примеру по дизайну матрицы. Его матричный класс сильно зависит от шаблонов, и я изо всех сил стараюсь их выяснить. Вот один из вспомогательных классов для …
08 янв '16 в 13:52
2
ответа
Шаблоны C++: условно включенная функция-член
Я создаю очень маленький проект C++, и я хотел бы создать простой векторный класс для своих собственных нужд. std::vector Шаблон класса не подойдет. Когда векторный класс состоит из charс (то есть vector<char>), Я бы хотел, чтобы его можно был…
29 окт '14 в 14:40
1
ответ
JSP-HTML кнопка включения-выключения условие
Я попробовал некоторый код, чтобы сделать кнопку отключения-включения по условию, но она, очевидно, не работает так, как я хочу: <form method="get" action="reg.jsp"> <% if ((String)session.getAttribute("dept") == "HR") { %> <th colspa…
20 май '16 в 06:17
3
ответа
C++ boost enable_if вопрос
Могу ли я упростить следующие утверждения? (возможно, используя boost::enable_if ) У меня есть простая структура класса - Base базовый класс, Derived1, Derived2 наследовать от Base, У меня есть следующий код: template <typename Y> struct trans…
26 сен '10 в 17:19
3
ответа
Проблема с enable_if и несколькими условиями
Я попытался реализовать функцию, которая преобразует универсальный тип в строку. Интегральные типы должны быть преобразованы с использованием std::to_string(), строки и символы с использованием std::string() и векторы, элемент за элементом, в строку…
08 янв '17 в 15:48
1
ответ
Определение конструктора класса шаблона с enable_if вне прототипа класса
Ранее был вопрос, связанный с моей проблемой, которая касалась класса шаблона, который использовал std::enable_if на метод, который объявлен в прототипе класса, но фактическая реализация выполняется снаружи. Источник: реализация функции с enable_if …
24 окт '18 в 09:03
1
ответ
Могу ли я определить шаблоны для разных наборов типов?
Мне нужно написать шаблонную функцию, которая ведет себя по-разному в зависимости от класса ее параметра: template<class ContainerType> bool myFunc(ContainerType in){ //do some stuff } template<class NotAContainerType> bool myFunc(NotACo…
25 июл '18 в 08:28
3
ответа
Проверьте наличие глобального оператора << в C++
Здравствуйте, я хочу написать две реализации функции-члена to_string следующим образом: template <typename T0> class foo { public: std::string to_string(); public: T0 m_Value; }; template <typename T0> std::string foo<T0>::to_strin…
04 сен '13 в 05:41
2
ответа
Добавить / удалить элементы данных с параметрами шаблона?
Рассмотрим следующий код: template<bool AddMembers> class MyClass { public: void myFunction(); template<class = typename std::enable_if<AddMembers>::type> void addedFunction(); protected: double myVariable; /* SOMETHING */ addedVar…
24 авг '12 в 23:34
2
ответа
std::enable_if как единственный аргумент конструктора
Я довольно новичок в шаблонном метапрограммировании и прорабатывал некоторые концепции - однако, этот фрагмент кода, с которым я столкнулся, немного озадачил меня. template<class TAG, typename... DATATYPES> struct Message { Message (typename s…
24 фев '14 в 11:37
3
ответа
enable_if и конструктор с VS2012
Я пытаюсь условно включить шаблон конструктора. С полностью совместимым с C++11 компилятором я знаю, как это сделать, используя дополнительный аргумент шаблона по умолчанию. Однако мне нужно поддерживать VS2012, который имеет std::enable_if, но не п…
16 ноя '16 в 15:24
1
ответ
KnockoutJS: в зависимости от длины кнопки включения массива
В проекте, который мы делаем, мы создали папку "Входящие", где пользователи (среди прочего) могут выбирать элементы. Если пользователь выбирает элемент, кнопка должна быть включена - если ни один не выбран, кнопка должна быть отключена. Достаточно п…
25 июл '12 в 19:05
1
ответ
Как использовать BOOST_STATIC_ASSERT с условием ИЛИ
Например у меня BOOST_STATIC_ASSERT( boost::has_range_iterator<T>::value, ); но у меня есть другие типы, которые находятся в диапазоне, что я могу обнаружить с is_foo_type:: значение Как мне объединить два в качестве дизъюнкции? то есть в psue…
22 авг '18 в 07:27
2
ответа
Неправильная реализация функции шаблона C++
Я реализовал эту функцию здесь (в одном заголовочном файле). //header.h #include <cstdio> #include <cstdlib> #include <cmath> #include <iostream> #include <stdint.h> #include <type_traits> template < typename T…
23 сен '15 в 12:51