[dataflow] Filter with multiple slots
Hey, I want to define my own filter, which can take different signatures. It should take a Url (e.g. std::string, for me an unicode type) and use a difault timeout or it should take both. There is an tutorial for multiple slots, when using a consumer, but i need a filter and i am wondering how i should define the signature of the filter then? (overlaoding of the operator() method needs to be done of course. Kind Regards Manuel
On Wed, Sep 10, 2008 at 6:29 AM, Manuel Jung
Hey,
I want to define my own filter, which can take different signatures. It should take a Url (e.g. std::string, for me an unicode type) and use a difault timeout or it should take both.
There is an tutorial for multiple slots, when using a consumer, but i need a filter and i am wondering how i should define the signature of the filter then? (overlaoding of the operator() method needs to be done of course.
If your filter still has only a single output, it would be like this:
class multi_input_filter
: public signals::filter<
multi_input_filter,
// output signature
void (const output_type &)>
{
public:
void operator()(const std::string &url);
void operator()(const std::string &url, double timeout);
};
If you want to enumerate the inputs (which is needed for using some
run-time aspects of the library, but otherwise not needed), then you
can do that like this:
class multi_input_filter
: public signals::filter<
multi_input_filter,
// output signature
void (const output_type &),
// input signatures
mpl::vector
participants (2)
-
Manuel Jung
-
Stjepan Rajko