Вопросы по теме 'functor'

генерация функтора из типа указателя функции-члена
Я пытаюсь упростить (через make_fn() ) генерацию функторов, которые предварительно обрабатывают параметры (через wrap() ) для функций-членов с арностью n . Генерация функторов в основном работает, но до сих пор только явное указание типов...
2075 просмотров
schedule 18.04.2023

Возникли проблемы с написанием моего fmap
Я пытаюсь написать fmap для этого типа data Triangle a = Triangle {t0 :: Point a, t1 :: Point a, t2 :: Point a} где Point определяется как data Point a = Point {px :: a, py :: a, pz :: a} И мой экземпляр def instance Functor...
300 просмотров
schedule 02.04.2022

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

Как передать std-функтор в С++ и использовать его, не зная, какой именно
У меня есть что-то вроде алгоритма сортировки, и я хочу передать ему функтор, который предоставляет критерии сортировки (std::binary_function). Поэтому он должен вызывать T.operator‹(), например, если задано std::less. Проблема в том, что...
890 просмотров
schedule 30.07.2022

Указатели функций во встроенных системах, полезны ли они?
В одном из интервью меня спросили, будет ли полезно использование указателей функций (с точки зрения скорости) при написании кода для встраиваемых систем? Я понятия не имел о встроенной системе, поэтому не мог ответить на вопрос. Просто туманный или...
9183 просмотров
schedule 29.12.2022

Как обрабатывать значение по умолчанию для шаблонного функтора
Учитывая такую ​​функцию: template<typename functor> void foo(functor const& f) { if (f) f(1, 2); } Я хочу иметь возможность назначать значение по умолчанию, где f может быть установлено на что-то похожее на NULL ....
3264 просмотров
schedule 11.08.2022

Почему 'X x; Икс();' разрешено, когда 'X' определяет преобразование в указатель на функцию, но не разрешено, когда оно определяет преобразование в функтор?
void f(int){} typedef void (*f_ptr)(int); struct Functor{ void operator()(int){} }; struct X{ operator f_ptr(){ return f; } }; struct Y{ operator Functor(){ return Functor(); } }; int main(){ X x; Y y; x(5); // works ?! y(5); //...
1085 просмотров

Возможен ли трейт-класс is_functor C++?
Как я могу вывести статически, если аргумент является объектом функции C++ (функтор)? template <typename F> void test(F f) {} Я пробовал is_function<F>::value , но это не работает. Также кажется, что черты is_functor нет, так...
2984 просмотров
schedule 01.03.2022

привязать не значение, а функцию (с получением значения этой функции)
Скажем, у меня есть следующая функция: int foo (int a) { return something; } Как я могу сделать что-то подобное? vector<int> v; std::for_each( v.begin(), v.end(), std::bind1st(std::minus<int>(), foo) ); Я хочу, чтобы...
124 просмотров
schedule 29.02.2024

Передать локальную функцию в качестве параметра глобальной функции
В С++ совершенно невозможно передать локальную функцию или функтор глобальной функции? Кажется, что все признаки указывают на «нет». Кажется, это самый простой способ решить простую реализацию математической функции, такую ​​как интегратор:...
184 просмотров
schedule 09.01.2023

С++ Попытка создать "промежуточный" функтор
Под «промежуточным» функтором я подразумеваю: нормальный функтор, в котором один из аргументов может быть указан во время вызова. Проблема в том, что у меня есть временная шкала анимации (по сути, скалярные значения в определенных кадрах), и вывод...
267 просмотров
schedule 03.08.2022

Проблема компиляции функтора: несоответствие подписи: модули не совпадают
Сначала код: module Boolean = struct exception SizeMismatch type boolean = T | F | Vec of boolean array let to_bool v = match v with T -> true | F -> false | _ -> raise SizeMismatch end module Logic = struct type 'a...
1637 просмотров
schedule 11.01.2023

Как определить сигнатуру модуля, реализация модуля которого параметризована функтором
Допустим, у меня есть модуль M , параметризованный модулем F : module M (F : sig type id type data end) = struct type idtype = F.id type datatype = F.data type component = { id : idtype; data : datatype } let create id data = { id; data }...
204 просмотров

Разрешено ли алгоритмам стандартной библиотеки копировать аргументы предикатов?
Предположим, мы хотим удалить повторяющиеся значения из вектора int s. Обычное решение состоит в том, чтобы отсортировать вектор и стереть дубликаты с помощью идиомы «стереть-удалить». Но нам нужно поддерживать порядок элементов, которые не будут...
621 просмотров
schedule 08.02.2023

Функциональные объекты в C++ (C++11)
Я читаю о boost::function и немного запутался в его использовании и его отношении к другим конструкциям или терминам С++, которые я нашел в документации, например. здесь . В контексте C++ (C++11) в чем разница между экземпляром boost::function...
2701 просмотров

Почему экземпляр Functor с двумя кортежами применяет функцию только ко второму элементу?
import Control.Applicative main = print $ fmap (*2) (1,2) производит (1,4) . Я бы ожидал, что он выдаст (2,4) , но вместо этого функция применяется только ко второму элементу кортежа. Обновление Я понял это почти сразу. Я опубликую...
8607 просмотров
schedule 21.02.2022

Функтор со значением по умолчанию в качестве параметра в функции в контексте шаблонного класса и функции :-)
Ингредиенты: Класс-матрица, созданный по шаблону для типа элемента-матрицы, предназначенный для работы с подматрицами, а также с двойными / плавающими и т. Д. Метод-член матрицы, который возвращает "истинную" диагональ, то есть в случае...
703 просмотров
schedule 21.05.2022

использовать первоклассный модуль в OCaml
module type Arity = sig val arity : nat (* in my real code it has another type *) end module S = functor (A : Arity) -> struct let check = ... end Я хотел бы использовать функцию check внутри функтора S без подписи реализации...
2144 просмотров
schedule 24.02.2023

Как использовать фабричный шаблон с функторами?
У меня есть набор функторов для вычисления конкретных вещей в диапазонах объектов. По сути, каждый функтор реализует operator() : template <typename Iterator1, typename Iterator2> double operator()( Iterator1 it1,...
1163 просмотров
schedule 21.08.2022

C++ Передача функции в функцию с помощью функторов
У меня есть два функтора: class SFunctor { public: SFunctor(double a) { _a = a; } double operator() (double t) { return _a * sin(t); } private: double _a; }; class CFunctor { public: CFunctor(double b) { _b = b; } double...
110 просмотров
schedule 15.04.2023