Вопросы по теме 'enable-if'

Использование enable_if для необязательного добавления члена структуры
Учитывая этот шаблон: template <class A> struct Something { ... // members common to all template instantiations for all A types SpecialType member; // but not this - I want this to be conditional... } ... Я хочу использовать...
2166 просмотров
schedule 11.01.2023

Метод шаблона enable_if специализация
у меня есть следующий код, который не компилируется. Это две функции в шаблонном классе, которые принимают аргументы typename std::enable_if<std::is_void<Ret>::value, Ret>::type _on_dispatched() { // ... } typename...
1991 просмотров
schedule 02.07.2023

enable_if разрешает только базовый класс
В настоящее время я реализую некоторый CRTP с базовым классом template<class CRTP> Base и производными классами Derived1 : public Base<Derived1> , Derived2 : public Base<Derived2> ... Математические операторы определены в...
1359 просмотров

std::enable_if второй запрос
Я новичок в std::enable_if и мне интересно, как его использовать. У меня есть класс шаблона: template<int a, int b> class foo { int c; } Я хочу, чтобы в шаблоне был только элемент c, когда a = 5. Как мне это сделать с...
198 просмотров
schedule 24.07.2022

Почему этот класс признаков не работает, чтобы проверить, имеет ли класс определенный typedef?
редактировать: Хорошо, я понял это. Я использовал false_type и true_type в качестве аргумента для enable_if , хотя должен был просто использовать bool . :Икс Кроме того, я решил, что класс is_map_like будет лучше проверять, похож ли...
69 просмотров
schedule 07.09.2022

Какое правильное ограничение enable_if для идеального установщика переадресации?
Назад к основам! Презентация Essentials of Modern C++ на CppCon обсудила различные варианты передачи параметров и сравнила их производительность с простотой написания/обучения. «Расширенный» вариант (обеспечивающий наилучшую производительность во...
1544 просмотров

включить оператор преобразования с помощью SFINAE
Я пытаюсь перегрузить operator T() , используя SFINAE, чтобы вернуть копию, когда T является фундаментальным типом, и константную ссылку, когда T является классом. При использовании double в моем примере ниже я не могу удалить вторую...
2060 просмотров
schedule 28.05.2023

Разблокировать JButton, поскольку в полях есть текст
Как следует из темы, я хочу разблокировать (setEnabled (true)) мою регистрацию JButton, когда в других полях есть какой-либо текст, но я не знаю, что это за слушатель. Я загружаю изображение для более четкого понимания....
236 просмотров
schedule 19.03.2023

Ошибка компиляции при использовании enable_if для SFINAE
Я пытаюсь выполнить упражнение с использованием SFINAE, но получаю непонятную ошибку компиляции. У меня такой код: #include <cstddef> // for size_t & NULL #include <memory> #include <cstdlib> #include...
173 просмотров
schedule 11.03.2022

синтаксические шаблоны enable_if
Я использовал enable_if примерно таким образом с различными версиями GCC (до 5.2): template< bool b, std::enable_if_t< b >... > void fn() { std::cout << 1 << std::endl; } template< bool b, std::enable_if_t< !b...
159 просмотров
schedule 05.05.2023

Как специализировать шаблон функции с более чем 1 параметром?
Рассмотрим следующую шаблонную функцию-член: template<typename E, typename N, typename P> void Node::connectEvent( const bool( N::*fn )( const P& ), N *inst ) { // Obtain unique event ID based on type. size_t eventId = typeid( E...
63 просмотров

Как определить функцию-член частично специализированного класса шаблона, используя boost::enable_if
Я хотел бы попросить вас помочь с определением частично специализированной функции-члена класса... пусть код объяснит больше: У меня есть объявление общего класса: template<typename GEAR_TYPE, typename ENABLER = void> class...
196 просмотров
schedule 07.03.2023

Нужна помощь, чтобы понять функцию шаблона со сложными параметрами имени типа
Я изучаю книгу Страустроупа "Программирование на С++, 4-е издание". И я пытаюсь следовать его примеру в матричном дизайне. Его матричный класс сильно зависит от шаблонов, и я изо всех сил стараюсь в них разобраться. Вот один из вспомогательных...
425 просмотров

C ++: предоставление функции класса в шаблонном классе при наличии именованного члена в его шаблонном типе?
Я пытаюсь сделать следующее: шаблонный класс должен предоставлять некоторые функции, зависящие от того, содержит ли тип, для которого он был создан в шаблоне, переменную-член с заданным именем. В качестве примера приведен следующий псевдокод, который...
98 просмотров

Правильный выбор перегрузки с параметрами шаблона шаблона и enable_if
У меня есть функция шаблона в VS2013, предназначенная для выполнения «глубокой копии» любого переданного ей объекта. Одна перегрузка для тривиальных типов просто вызывает оператор =. Но у меня также есть перегрузка, предназначенная для работы с...
145 просмотров
schedule 05.10.2022

С# Включить/отключить несколько текстовых полей на основе выбора поля со списком
Я обычный парень, который учится программировать. Я не люблю, когда код выглядит неряшливо и его можно консолидировать. При этом мне нужно консолидировать некоторый код, но мне не удалось найти информацию о том, как это сделать. Я пытаюсь...
1429 просмотров
schedule 29.09.2022

Включить шаблон только для определенного шаблонного класса
Этот вопрос вдохновлен моим предыдущим вопросом Без вывода параметров шаблона из пакета параметров . Рассмотрим следующий пример кода: #include <memory> #include <string> template<typename... FArgs> class Callback {...
216 просмотров

Использование std::enable_if с параметрами анонимного типа
Я пытаюсь использовать std::enable_if с неиспользуемым и безымянным параметром типа, чтобы не искажать тип return . Однако следующий код не компилируется. #include <iostream> template <typename T, typename =...
1011 просмотров
schedule 20.02.2023

определение типа аргумента функции (контейнер std, например, вектор) не выполняется при использовании enable_if и SFINAE
Кажется, я не могу понять, в чем я ошибаюсь. см. https://ideone.com/WKsZSN Я пытаюсь создать функцию, которая существует только в том случае, если ее аргумент является определенным типом шаблонного класса, предоставляющего typedef для итератора....
228 просмотров

Как разделить объявление и реализацию шаблонного класса с параметром шаблона по умолчанию?
Мне нравится разделять объявление и реализацию моих классов. Я знаю, что реализация шаблонов классов и функций также должна идти в файл заголовка, это не проблема. У меня проблемы с реализацией этого класса: template <size_t S,...
652 просмотров
schedule 14.06.2023