functor

Using STL algorithms, is it better to pass a function pointer or a functor?

Which of these 2 methods is better and why? Method 1: void fun(int i) { //do stuff } ... for_each(a.begin(), a.end(), fun); Method 2: class functor { public: void operator()(int i); }; ... for_each(a.begin(), a.end(), functor()); Edit: Should have formulated it this way, in what situation is one of the above method preferabl...

Is it possible to make a functor in JavaScript?

I'm trying to make a function that holds state but is called with foo(). Is it possible? ...

function passed as template argument

I'm looking for the rules involving passing C++ templates functions as arguments. This is supported by C++ as shown by an example here: #include <iostream> void add1(int &v) { v+=1; } void add2(int &v) { v+=2; } template <void (*T)(int &)> void doOperation() { int temp=0; T(temp); std::cout << "Result is " << temp << std::e...

pass a callable object to a member function

class Action { public: void operator() () const; } class Data { public: Data(); ~Data(); Register(Action action) { _a = action; } private: Action _a; } class Display { public: Display(Data d) { d.Register( bind(Display::SomeTask, this, _1) ); } ~Display(); void...

Sort function does not work with function object created on stack?

#include<iostream> #include<vector> #include<algorithm> class Integer { public: int m; Integer(int a):m(a){}; }; class CompareParts { public: bool operator()(const Integer & p1,const Integer & p2) { return p1.m<p2.m; } }obj1; int main() { std::vector<Integer> vecInteger; vecI...

Clearest way to code structarray map functor in C++

This is a poll for opinions on the most readable way to do something -- whether to use a C++ pointer-to-member, a byte offset, or a templatized functor to define "select member X from structure foo". I've got a type that contains a large vector of structures, and I'm writing a utility function that basically operates as a reduce over s...

Subclassing a window with a functor (Win32)

Quick sanity check: Is it possible to subclass a window using a functor? I'm running into a situation where I want to have some data available in the win proc, but GWLP_USERDATA is already being used. A functor seems like a good alternative, but I'm having trouble getting it to work. Here's the basics: class MyWinProc { // Win Proc Fun...

What is a good data structure to represent an undirected graph?

I need to construct an undirected graph. I don't need it to do anything too fancy, but ideally it would work like this: structure UDG = UndirectedGraph val g = UDG.empty val g = UDG.addEdges(g, n1, [n2, n4, n7]) (* n1 is connected to n2, n4, and n7 *) val g = UDG.addEdge(g, n2, n3) UDG.connected(g, n2) (* returns [n1, n3] *) Is there...

Simplifying FOR loops

I have a function that essentially reads values in from a vector of doubles, appends these to a string (while ensuring a space between each and setting their precisions) and returns the end result, minus the final whitespace: std::string MultiplePrintProperties::GetHpitchString() { std::string str; vector< double >::iter...

c++ operator overload and usage

bool operator()(Iterator it1, Iterator it2) const { return (*it1 < *it2); } Can someone explain this function for me, thanks! is this means overload the operator ()? after overload this, how to use it ? ...

C++ templated functors

Hi, I was wondering if anyone can help me with functors. I dont really understand what functors are and how they work I have tried googling it but i still dont get it. how do functors work and how do they work with templates ...

functor generation from member function pointer type

I am trying to simplify (via make_fn()) the generation of functors that preprocess parameters (via wrap()) for member functions of arity n. Generating the functors is basically working, but until now only by explicitly specifying the parameter types for the member function. Now i'd like to generate the correct functor from the member fun...

Passing around a nested functor (C++)

Is there a way to pass foo_ around outside of main? I saw something about Boost in another question regarding functors. That looks like it may work. Here's the answer mentioning Boost in that question. If I can, I would like to avoid Boost. #include <iostream> int main() { class foo { public: void operator()() { ...

how to implement common functor for several classes in c++

Hi, suppose you have two (or more) classes with private member vectors: class A { private: std::vector<X> priv_vec; public: //more stuff } class B { private: std::vector<Y> priv_vec; public: //more stuff } and you have a functor-class which has a state and works on a generic vector (does sorting or counts...

Iterate over functions

Is something like this possible to do in Java? for (Object o : objects) { for (Function f : functions) { f(o); } } I'm only calling a handful of functions, but I need to compose them, like so: for (Object o : objects) { for (Function f : functions) { for (Function g : functions) { f(g(o)); } } } And I'd li...

Using a non-static class member inside a comparison function

Hello everyone, I'm currently developing a syntaxic analyser class that needs, at a point of the code, to sort structs holding info about operators. Each operator has a priority, which is user-defined through public member functions of my analyser class. Thus, when sorting, I need my sorting function to order elements based on the prior...

Declaring functors for comparison ??

Hello, I have seen other people questions but found none that applied to what I'm trying to achieve here. I'm trying to sort Entities via my EntityManager class using std::sort and a std::vector<Entity *> /*Entity.h*/ class Entity { public: float x,y; }; struct compareByX{ bool operator()(const GameEntity &a, const GameEntity &b) {...

Checking for list membership using the STL and a unary function adapted functor

I've attempted to write a brief utility functor that takes two std::pair items and tests for their equality, but disregarding the ordering of the elements. Additionally (and this is where I run into trouble) I've written a function to take a container of those std::pair items and test for membership of a given pair argument in a the cont...

passing functor as function pointer

I'm trying to use a C library in a C++ app and have found my self in the following situation (I know my C, but I'm fairly new to C++). On the C side I have a collection of functions that takes a function pointer as their argument. On the C++ side I have objects with a functor which has the same signature as the function pointer needed b...

Having trouble writing my fmap

I am trying to write an fmap for this type data Triangle a = Triangle {t0 :: Point a, t1 :: Point a, t2 :: Point a} where Point is defined as data Point a = Point {px :: a, py :: a, pz :: a} And my instance def is instance Functor Triangle where fmap f (Triangle v0 v1 v2) = Triangle (f v0) (f v1) (f v2) I am getting th...