Из любопытства я пробовал альтернативную реализацию конструкции is_class с использованием sizeof () уловка. Ниже приведен код: template
struct is_class
{typedef char (& yes) [...
Я попытался реализовать SFINAE с помощью bool (в отличие от популярного трюка void_): template struct Resolve {static const bool value = false; }; template <...
Возможный дубликат: как использовать enable_if для включения функций-членов на основе параметра шаблона класса У меня есть шаблон класса : template class Vector Я хочу...
У меня есть типаж is_callable, определенный следующим образом: #ifndef IS_CALLABLE_HPP
#define IS_CALLABLE_HPP #include пространство имен is_callable_detail
{struct no {}; struct yes {no x [2]; ...
У меня есть функции для преобразования различные арифметические типы в тип с плавающей запятой половинной точности (просто uint16_t на самом низком уровне), и у меня есть разные функции для целых и плавающих запятой ...
Интересно, если я проверяю, является ли какой-то член класса частным, что ответит sfinae? Будет ли он сильно ошибаться, или он скажет ОК, или он будет ошибкой в sfinae?
Я использовал (и видел использование )статического _утверждения для отметки нежелательных значений значений параметров шаблона. Однако во всех случаях, с которыми я сталкивался, кажется, что лучше и элегантнее отключать нежелательные...
Я пытаюсь написать шаблоны функций-операторов, не являющихся членами, например: #include template < typename T, unsigned L >
класс MyType; template < typename T, typename U, unsigned L &...
Я хочу написать метафункцию C ++ is_callable , которая определяет значение как истинное, тогда и только тогда, когда тип F имеет оператор вызова функции формы SomeReturnType operator () (const Arg & ...
Допустим, у меня есть следующие псевдонимы шаблонов: enum class enabler {}; шаблон <имя типа T>
использование EnableIf = typename std::enable_if::type;
шаблон <имя типа T>
using ...
Я учусь использовать SFINAE в своих интересах. Я пытаюсь использовать его для выбора реализации функции на основе существования функции сериализации ()в объекте. Это код, который я использую для...
У меня проблема SFINAE :В следующем коде я хочу, чтобы компилятор C++ выбрал специализированный функтор и напечатал «специальный», но вместо этого напечатал «общий». #включить #включить &...
Можно ли определить, существует ли класс в C++, используя SFINAE? Если можно то как? Предположим, у нас есть класс, который предоставляется только некоторыми версиями библиотеки. Я хотел бы знать, возможно ли это...
У меня есть проблема в моем приложении, где я хотел бы утверждать, что приложение-функция будет отклонено компилятором. Есть ли способ проверить это с помощью SFINAE? Например, предположим, что я хотел бы...
Проблемы с SFINAE. Мне нужно иметь возможность определить, имеет ли Type оператор функции-члена ->, определенный независимо от его возвращаемого типа. Пример следует. Этот класс в тестере. Это определяет...
У меня есть код для включения _, если он работает, и он позволяет мне делать некоторые классная вещь, но я думал, что это вызовет ошибку, так как мои два метода, показанные ниже, имеют одинаковую сигнатуру метода. Любой...
Я был на полпути к работе над этим фрагментом кода и подумал, что он, очевидно, не будет компилироваться, прежде чем нажать кнопку сборки. Я был удивлен, что он не только скомпилировался, но и скомпилировал и работал ...
Я пытался придумать хак, чтобы проверить, является ли std :: isnan определены без специальных компиляторов корпуса в препроцессоре и придумали следующее, которое, как я ожидал, будет работать нормально. #include ...
Это просто вопрос стиля: мне не нравится способ C ++ для метапрограммирования шаблонов, который требует от вас использования тип возврата или добавьте дополнительный фиктивный аргумент для трюков с SFINAE. Итак, ...
Вот мой код для проверки того, есть ли у класса функция-член begin или нет : template struct has_begin
{ struct dummy {typedef void const_iterator;}; typedef typename std::...
(Несколько) устаревшая статья исследует способы использования decltype вместе с SFINAE для определения, поддерживает ли тип определенные операторы, такие как == или <. Вот пример кода, чтобы определить, поддерживает ли класс ...
Я хочу проверить, имеет ли аргумент шаблона значение ссылочный тип или нет в C ++ 03. (У нас уже есть is_reference в C ++ 11 и Boost). Я использовал SFINAE и тот факт, что у нас не может быть указателя на ...
У меня есть следующий класс шаблона и (глобальная) переменная его типа: шаблон <имя типа ClassT>
struct ClassTester: общедоступный ClassT {typedef ClassT type;
}; ClassTester * aaa; ...