91c1918582
[SVN r53094]
65 lines
2.2 KiB
ReStructuredText
65 lines
2.2 KiB
ReStructuredText
.. 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
|