Вопросы по теме '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 просмотров
schedule
29.04.2023
Возможен ли трейт-класс 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 просмотров
schedule
12.08.2023
Разрешено ли алгоритмам стандартной библиотеки копировать аргументы предикатов?
Предположим, мы хотим удалить повторяющиеся значения из вектора int s. Обычное решение состоит в том, чтобы отсортировать вектор и стереть дубликаты с помощью идиомы «стереть-удалить». Но нам нужно поддерживать порядок элементов, которые не будут...
621 просмотров
schedule
08.02.2023
Функциональные объекты в C++ (C++11)
Я читаю о boost::function и немного запутался в его использовании и его отношении к другим конструкциям или терминам С++, которые я нашел в документации, например. здесь .
В контексте C++ (C++11) в чем разница между экземпляром boost::function...
2701 просмотров
schedule
26.07.2023
Почему экземпляр 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