… | |
… | |
2891 | |
2891 | |
2892 | myclass obj; |
2892 | myclass obj; |
2893 | ev::io iow; |
2893 | ev::io iow; |
2894 | iow.set <myclass, &myclass::io_cb> (&obj); |
2894 | iow.set <myclass, &myclass::io_cb> (&obj); |
2895 | |
2895 | |
|
|
2896 | =item w->set (object *) |
|
|
2897 | |
|
|
2898 | This is an B<experimental> feature that might go away in a future version. |
|
|
2899 | |
|
|
2900 | This is a variation of a method callback - leaving out the method to call |
|
|
2901 | will default the method to C<operator ()>, which makes it possible to use |
|
|
2902 | functor objects without having to manually specify the C<operator ()> all |
|
|
2903 | the time. Incidentally, you can then also leave out the template argument |
|
|
2904 | list. |
|
|
2905 | |
|
|
2906 | The C<operator ()> method prototype must be C<void operator ()(watcher &w, |
|
|
2907 | int revents)>. |
|
|
2908 | |
|
|
2909 | See the method-C<set> above for more details. |
|
|
2910 | |
|
|
2911 | Example: use a functor object as callback. |
|
|
2912 | |
|
|
2913 | struct myfunctor |
|
|
2914 | { |
|
|
2915 | void operator() (ev::io &w, int revents) |
|
|
2916 | { |
|
|
2917 | ... |
|
|
2918 | } |
|
|
2919 | } |
|
|
2920 | |
|
|
2921 | myfunctor f; |
|
|
2922 | |
|
|
2923 | ev::io w; |
|
|
2924 | w.set (&f); |
|
|
2925 | |
2896 | =item w->set<function> (void *data = 0) |
2926 | =item w->set<function> (void *data = 0) |
2897 | |
2927 | |
2898 | Also sets a callback, but uses a static method or plain function as |
2928 | Also sets a callback, but uses a static method or plain function as |
2899 | callback. The optional C<data> argument will be stored in the watcher's |
2929 | callback. The optional C<data> argument will be stored in the watcher's |
2900 | C<data> member and is free for you to use. |
2930 | C<data> member and is free for you to use. |