Created like an instance of a class, works like a function.
class WidgetTester { public: WidgetTester (int id) : test_id(id) { } int test_id; // define the function call operator bool operator () (Widget & wid) { return wid.id() == test_id; } };