Tamer
C++ language extensions for event-driven programming
Loading...
Searching...
No Matches
Helper functions for making events

Functions

template<typename R, typename I, typename T0, typename T1, typename T2, typename T3>
event< T0, T1, T2, T3 > tamer::make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1, T2 &x2, T3 &x3)
 Construct a four-result event on rendezvous r with ID eid.
template<typename R, typename I, typename T0, typename T1, typename T2, typename T3>
event< T0, T1, T2, T3 > tamer::make_event (one_argument_rendezvous_tag< R > &r, const I &eid, typename event< T0, T1, T2, T3 >::results_tuple_type &xs)
template<typename R, typename T0, typename T1, typename T2, typename T3>
event< T0, T1, T2, T3 > tamer::make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1, T2 &x2, T3 &x3)
template<typename R, typename T0, typename T1, typename T2, typename T3>
event< T0, T1, T2, T3 > tamer::make_event (zero_argument_rendezvous_tag< R > &r, typename event< T0, T1, T2, T3 >::results_tuple_type &xs)
template<typename R, typename I, typename T0, typename T1, typename T2>
event< T0, T1, T2 > tamer::make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1, T2 &x2)
template<typename R, typename T0, typename T1, typename T2>
event< T0, T1, T2 > tamer::make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1, T2 &x2)
template<typename R, typename I, typename T0, typename T1>
event< T0, T1 > tamer::make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0, T1 &x1)
template<typename R, typename T0, typename T1>
event< T0, T1 > tamer::make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0, T1 &x1)
template<typename R, typename I, typename T0>
event< T0 > tamer::make_event (one_argument_rendezvous_tag< R > &r, const I &eid, T0 &x0)
template<typename R, typename T0>
event< T0 > tamer::make_event (zero_argument_rendezvous_tag< R > &r, T0 &x0)
template<typename R, typename T0>
preevent< R, T0 > tamer::make_preevent (zero_argument_rendezvous_tag< R > &r, T0 &x0)
template<typename R, typename I>
event tamer::make_event (one_argument_rendezvous_tag< R > &r, const I &eid)
template<typename R>
event tamer::make_event (zero_argument_rendezvous_tag< R > &r)
template<typename R>
preevent< R > tamer::make_preevent (zero_argument_rendezvous_tag< R > &r)

Detailed Description

The make_event() helper function simplifies event creation. make_event() automatically selects the right type of event for its arguments. There are 3*5 = 15 versions, one for each combination of event IDs and results.

Function Documentation

◆ make_event()

template<typename R, typename I, typename T0, typename T1, typename T2, typename T3>
event< T0, T1, T2, T3 > tamer::make_event ( one_argument_rendezvous_tag< R > & r,
const I & eid,
T0 & x0,
T1 & x1,
T2 & x2,
T3 & x3 )
inline

Construct a four-result event on rendezvous r with ID eid.

Parameters
rRendezvous.
eidEvent ID.
x0First result.
x1Second result.
x2Third result.
x3Fourth result.
Note
Versions of this function exist for any combination of one or zero event IDs and four, three, two, one, or zero results. For example, make_event(r) creates a zero-ID, zero-result event on rendezvous<> r, while make_event(r, 1, i, j) might create a one-ID, two-result event on rendezvous<int> r.

References tamer::event< T0, T1, T2, T3 >::event().

Referenced by fun_event().