12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- .. Copyright (C) 2004-2008 The Trustees of Indiana University.
- Use, modification and distribution is subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
- ============================
- |Logo| Simple Triggers
- ============================
- .. contents::
- Introduction
- ------------
- Triggers in the `process group`_ interface are used to asynchronously
- receive and process messages destined for distributed data
- structures. The trigger interface is relatively versatile, permitting
- one to attach any function object to handle requests. The
- ``simple_trigger`` function simplifies a common case for triggers:
- attaching a trigger that invokes a specific member function of the
- distributed data structure.
- Where Defined
- -------------
- Header ``<boost/graph/parallel/simple_trigger.hpp>``
- Reference
- ---------
- ::
- template<typename ProcessGroup, typename Class, typename T>
- void
- simple_trigger(ProcessGroup& pg, int tag, Class* self,
- void (Class::*pmf)(int source, int tag, const T& data,
- trigger_receive_context context))
- template<typename ProcessGroup, typename Class, typename T, typename Result>
- void
- simple_trigger(ProcessGroup& pg, int tag, Class* self,
- Result (Class::*pmf)(int source, int tag, const T& data,
- trigger_receive_context context))
- The ``simple_trigger`` function registers a trigger that invokes the
- given member function (``pmf``) on the object ``self`` whenever a
- message is received. If the member function has a return value, then
- the trigger has a reply, and can only be used via out-of-band sends
- that expect a reply. Otherwise, the member function returns ``void``,
- and the function is registered as a normal trigger.
- -----------------------------------------------------------------------------
- Copyright (C) 2007 Douglas Gregor
- Copyright (C) 2007 Matthias Troyer
- .. |Logo| image:: pbgl-logo.png
- :align: middle
- :alt: Parallel BGL
- :target: http://www.osl.iu.edu/research/pbgl
- .. _process group: process_group.html
|