Я хотел бы смочь анализировать класс C++ для его имени, содержание (т.е. участники и их типы) и т.д. Я говорю собственный C++ здесь, не управляемый С++, который имеет отражение. Я понимаю, что C++ предоставляет некоторых...
Я хочу сделать что-то как шаблон <имя типа T> пустое нечто (константа T& t) {ЕСЛИ панель (t) скомпилировала бы панель (t); ЕЩЕ baz (t);} я думал, что что-то с помощью enable_if сделает...
Можно ли написать шаблон, который меняет поведение в зависимости от того, определена ли определенная функция-член в классе? Вот простой пример того, что я хотел бы написать: template < class T & ...
Для создания алгоритма обрабатывают по шаблону функцию, которую я должен знать или x или X (и y или Y) в классе, который является аргументом шаблона. Это май полезным при использовании моей функции для MFC класс CPoint или GDI + PointF...
Возможно ли иметь два разных конструктора, которые активируются через SFINAE в зависимости от характеристик? Я пробовал следующее, но не получилось. template & lt; typename ... Args & gt; класс Foo {...
Что такое SFINAE в C ++? Не могли бы вы объяснить это словами, понятными программисту, который не разбирается в C ++? Кроме того, какому понятию в языке вроде Python соответствует SFINAE?
Я прошу шаблонный прием обнаруживать, если класс имеет определенную функцию членства данной подписи. Проблема подобна той, процитированной здесь http://www.gotw.ca/gotw/071.htm, но не same:...
После чтения ответа на этот вопрос я узнал, что SFINAE может использоваться для выбора между двумя функциями на основе того, имеет ли класс определенную функцию членства. Это - эквивалент...
Я читал статью в Википедии о SFINAE и обнаружил следующий пример кода: struct Test {typedef int Type; }; template void f (typename T :: Type) {} // ...
Я хочу войти в большее количество шаблонного метапрограммирования. Я знаю, что SFINAE обозначает "отказ замены, не ошибка". Но кто-то может показать мне хорошее использование для SFINAE?
Рассмотрите этот код: шаблон <имя типа T> символ (&f (T[1])) [1]; шаблон <имя типа T> символ (&f (...)) [2]; международное основное () {символ c [sizeof (f <пусто ()> (0)) == 2];} я ожидал...
У меня есть семейство функций {f_n}, где f_0 непрерывно, f_1 непрерывно дифференцируемо, $ f_ {n} \ in C ^ {n} [a, b] $ и так далее. У меня есть класс C ++, который дает числовую оценку f_n с помощью поиска ...
обращаясь к вчерашнему сообщению, это разбудило меня этим утром. Почему это на самом деле работает? Пока функциональный тест затронут, эта функция не имеет никакого тела поэтому, как это может выполнить что-нибудь? Я хочу...
Я просто узнал, как проверить, обеспечивается ли оператор <<для типа. шаблон <класс T> T& lvalue_of_type (); шаблон <класс T> T rvalue_of_type (); шаблон <класс T> структура...
Следующий код не компилируется (с помощью clang 7.0, --std = c ++ 17): struct Foo {void foo () {}}; struct Bar {void bar () {}}; struct Both {void foo () {} void bar () {}}; шаблон & ...
Допустим, у меня есть функция, которая должна принимать аргументы, которые должны соответствовать типам кортежа, я мог бы написать это так: используя ArgsTuple = std :: tuple < int, float & gt ;; шаблон < typename ... ...
Используя SFINAE, я могу обнаружить, имеет ли данный класс определенную функцию членства. Но что, если я хочу протестировать на наследованные функции членства? Следующее не работает в VC8 и GCC4 (т.е. обнаруживает...
std :: get не кажется SFINAE-дружественным, как показано в следующем тестовом примере: template < class T, class C > auto foo (C & amp; c) - > decltype (std :: get < T > (c)) {return std :: get < T & ...
Я пытаюсь создать пример, который проверял бы существование оператора == (член или функция, не являющаяся членом). Проверить, есть ли в классе член operator ==, легко, но как проверить, ...
В C++ 0x SFINAE правила были упрощены таким образом, что любое недопустимое выражение или вводит, который происходит в "прямом контексте" вычета, не приводит к ошибке компилятора, а скорее к вычету...
Я пытаюсь использовать SFINAE, чтобы обнаружить, если класс имеет перегруженную функцию членства, которая берет определенный тип. Код, который я имею, кажется, работает правильно в Visual Studio и GCC, но не компилирует использование...
Я получил класс с шаблонными методами, который смотрит на это: структура, неопределенная {}; шаблон <имя типа T> структура is_undefined: mpl:: false_ {}; шаблон <> структура is_undefined <неопределенный>:...
У меня есть эта минимальная библиотека шаблонов выражений с умножением, то есть шаблон < typename T, typename U > struct mul {const T & v1; const U & v2; }; шаблон < typename T, ...
Дана :struct A { виртуальный логический тип ()= 0; }; template<имя типа T, имя типа Q> структура B :общедоступная A { виртуальное логическое значение что (); }; Я хочу частично специализировать что-то вроде :template<...
Я нашел похожие вопросы и ответы, подобные этому. Однако, как я пробовал, эти тесты SFINAE были успешными только в том случае, если тестируемый член был непосредственно определен в тестируемом классе. Например, ...
Я использую SFINAE в стиле этого ответа для вызова универсального векторного объекта с помощью соответствующей функции-члена. Например, следующий код сначала вызывает оператор [] (int) const, а если ...
Я хочу иметь несколько перегруженных глобальных функций to_string (), которые принимают некоторый тип T и преобразуют его в строковое представление. В общем случае я хочу иметь возможность написать: template <...
Возможный дубликат :Можно ли написать шаблон C++ для проверки существования функции? У меня есть функция f, которая получает значение val типа T (templated ). Есть ли способ вызвать...
Я использую Windows 7. Я не могу подключиться к своему iPad с помощью простого скрипта Python: HOST = '192.168.1.122'
попробуйте: f = ftplib.FTP (HOST)
Я видел этот вопрос, который позволяет проверить наличие функции-члена, но я пытаюсь выяснить, имеет ли класс тип члена. В приведенном ниже примере оба оцениваются как "false"...