Commit 5ca50d02 authored by neverlord's avatar neverlord

documentation

parents
\documentclass{article}
\usepackage{epsfig}
\pagestyle{empty}
\begin{document}
$N^th$
\pagebreak
\end{document}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div>
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td class="indexvalue">Base class for all actor implementations </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1actor__exited.html">cppa::actor_exited</a></td><td class="indexvalue">Thrown if an actor finished execution </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></td><td class="indexvalue">Represents a remote Actor </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1any__tuple.html">cppa::any_tuple</a></td><td class="indexvalue">Describes a fixed-length tuple with elements of any type </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1anything.html">cppa::anything</a></td><td class="indexvalue">Acts as wildcard pattern </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1attachable.html">cppa::attachable</a></td><td class="indexvalue">Callback utility class </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1bind__failure.html">cppa::bind_failure</a></td><td class="indexvalue">Thrown to indicate that an actor publishing failed because the requested port could not be used </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1channel.html">cppa::channel</a></td><td class="indexvalue">Interface for all message receivers </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1cow__ptr.html">cppa::cow_ptr&lt; T &gt;</a></td><td class="indexvalue">A copy-on-write smart pointer implementation </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td class="indexvalue">Technology-independent deserialization interface </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; Base &gt;</a></td><td class="indexvalue">Implements </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">cppa::detail::converted_thread_context</a></td><td class="indexvalue">Represents a thread that was converted to an Actor </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">cppa::detail::scheduled_actor</a></td><td class="indexvalue">A spawned, scheduled Actor </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td class="indexvalue">Base class for libcppa exceptions </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1group.html">cppa::group</a></td><td class="indexvalue">A multicast group </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1group_1_1module.html">cppa::group::module</a></td><td class="indexvalue">Module interface </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1intrusive__ptr.html">cppa::intrusive_ptr&lt; T &gt;</a></td><td class="indexvalue">An intrusive, reference counting smart pointer impelementation </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1invoke__rules.html">cppa::invoke_rules</a></td><td class="indexvalue">Invoke rules without timeout </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td class="indexvalue">Base of <a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> and <a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a></td><td class="indexvalue">Base class for local running Actors </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td class="indexvalue">A message queue with many-writers-single-reader semantics </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1network__error.html">cppa::network_error</a></td><td class="indexvalue">Thrown to indicate that either an actor publishing failed or <code>libcppa</code> was unable to connect to a remote host </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td class="indexvalue">An abstraction class that stores an instance of an announced type </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td class="indexvalue">An union container for primitive data types </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a></td><td class="indexvalue">Identifies a process </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td class="indexvalue">A (thread safe) base class for reference counted objects with an atomic reference count </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td class="indexvalue">Technology-independent serialization interface </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1timed__invoke__rules.html">cppa::timed_invoke_rules</a></td><td class="indexvalue">Invoke rules with timeout </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td class="indexvalue">A fixed-length copy-on-write tuple </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1tuple__view.html">cppa::tuple_view&lt; ElementTypes &gt;</a></td><td class="indexvalue">Describes a view of an fixed-length tuple </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td class="indexvalue">Provides a platform independent type name and a (very primitive) kind of reflection in combination with <a class="el" href="classcppa_1_1object.html">object</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a></td><td class="indexvalue">Implements all pure virtual functions of <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> except <a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e" title="Serializes instance to sink.">serialize()</a> and <a class="el" href="classcppa_1_1uniform__type__info.html#a1841b5f6ef66723792e2639b306569bb" title="Deserializes an object of this type from source.">deserialize()</a> </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1util_1_1comparable.html">cppa::util::comparable&lt; Subclass, T &gt;</a></td><td class="indexvalue">Barton–Nackman trick implementation </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1eval__type__list.html">cppa::util::eval_type_list&lt; List, What &gt;</a></td><td class="indexvalue">Apply <code>What</code> to each element of <code>List</code> </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">cppa::util::eval_type_lists&lt; ListA, ListB, What &gt;</a></td><td class="indexvalue">Apply <code>What</code> to each element of <code>List</code> </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1if__else__c.html">cppa::util::if_else_c&lt; IfStmt, T, Else &gt;</a></td><td class="indexvalue">A conditinal expression for types that allows nested statements (unlike std::conditional) </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1is__array__of.html">cppa::util::is_array_of&lt; T, U &gt;</a></td><td class="indexvalue"><code>is_array_of&lt;T,U&gt;::value == true</code> if and only if T is an array of U </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1is__primitive.html">cppa::util::is_primitive&lt; T &gt;</a></td><td class="indexvalue">Evaluates to <code>true</code> if <code>T</code> is a primitive type </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1pt__token.html">cppa::util::pt_token&lt; PT &gt;</a></td><td class="indexvalue">Achieves static call dispatch (int-to-type idiom) </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1rm__ref.html">cppa::util::rm_ref&lt; T &gt;</a></td><td class="indexvalue">Like std::remove_reference but prohibits void and also removes const references </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td class="indexvalue">An intrusive, thread safe queue implementation </td></tr>
<tr><td class="indexkey"><a class="el" href="structcppa_1_1util_1_1type__list__apply.html">cppa::util::type_list_apply&lt; List, What &gt;</a></td><td class="indexvalue">Apply <code>What</code> to each element of <code>List</code> </td></tr>
<tr><td class="indexkey"><a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt;</a></td><td class="indexvalue">Upgrades shared ownership to exclusive ownership </td></tr>
</table>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: announce_example_1.cpp</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">announce_example_1.cpp</div> </div>
</div>
<div class="contents">
<p>A simple example for <code>announce</code> with public accessible members. The output of this example program is:</p>
<p><code> foo(1,2)<br/>
foo_pair(3,4) </code></p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;vector&gt;</span>
<span class="preprocessor">#include &lt;cassert&gt;</span>
<span class="preprocessor">#include &lt;utility&gt;</span>
<span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &quot;cppa/cppa.hpp&quot;</span>
<span class="keyword">using</span> std::cout;
<span class="keyword">using</span> std::endl;
<span class="keyword">using namespace </span>cppa;
<span class="comment">// POD struct</span>
<span class="keyword">struct </span>foo
{
std::vector&lt;int&gt; a;
<span class="keywordtype">int</span> b;
};
<span class="comment">// announce requires foo to have the equal operator implemented</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> foo&amp; lhs, <span class="keyword">const</span> foo&amp; rhs)
{
<span class="keywordflow">return</span> lhs.a == rhs.a
&amp;&amp; lhs.b == rhs.b;
}
<span class="comment">// a pair of two ints</span>
<span class="keyword">typedef</span> std::pair&lt;int,int&gt; foo_pair;
<span class="comment">// another pair of two ints</span>
<span class="keyword">typedef</span> std::pair&lt;int,int&gt; foo_pair2;
<span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)
{
<span class="comment">// announces foo to the libcppa type system;</span>
<span class="comment">// the function expects member pointers to all elements of foo</span>
assert(announce&lt;foo&gt;(&amp;foo::a, &amp;foo::b) == <span class="keyword">true</span>);
<span class="comment">// announce std::pair&lt;int,int&gt; to the type system;</span>
<span class="comment">// NOTE: foo_pair is NOT distinguishable from foo_pair2!</span>
assert(announce&lt;foo_pair&gt;(&amp;foo_pair::first, &amp;foo_pair::second) == <span class="keyword">true</span>);
<span class="comment">// since foo_pair and foo_pair2 are not distinguishable since typedefs</span>
<span class="comment">// do not &#39;create&#39; an own type, this announce fails, since</span>
<span class="comment">// std::pair&lt;int,int&gt; is already announced</span>
assert(announce&lt;foo_pair2&gt;(&amp;foo_pair2::first, &amp;foo_pair2::second) == <span class="keyword">false</span>);
<span class="comment">// send a foo to ourselves</span>
<a name="a0"></a><a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), foo{ { 1, 2, 3, 4 }, 5 });
<span class="comment">// send a foo_pair2 to ourselves</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), foo_pair2{3, 4});
<span class="comment">// quits the program</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), atom(<span class="stringliteral">&quot;done&quot;</span>));
<span class="comment">// libcppa returns the same uniform_type_info</span>
<span class="comment">// instance for foo_pair and foo_pair2</span>
assert(uniform_typeid&lt;foo_pair&gt;() == uniform_typeid&lt;foo_pair2&gt;());
<span class="comment">// receive two messages</span>
<span class="keywordtype">int</span> i = 0;
<a name="a1"></a><a class="code" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7" title="Receives messages as long as stmt returns true.">receive_while</a>([&amp;]() { <span class="keywordflow">return</span> ++i &lt;= 2; })
(
<span class="comment">// note: we sent a foo_pair2, but match on foo_pair</span>
<span class="comment">// that&#39;s safe because both are aliases for std::pair&lt;int,int&gt;</span>
on&lt;foo_pair&gt;() &gt;&gt; [](<span class="keyword">const</span> foo_pair&amp; val)
{
cout &lt;&lt; <span class="stringliteral">&quot;foo_pair(&quot;</span>
&lt;&lt; val.first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>
&lt;&lt; val.second &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>
&lt;&lt; endl;
},
on&lt;foo&gt;() &gt;&gt; [](<span class="keyword">const</span> foo&amp; val)
{
cout &lt;&lt; <span class="stringliteral">&quot;foo({&quot;</span>;
<span class="keyword">auto</span> i = val.a.begin();
<span class="keyword">auto</span> end = val.a.end();
<span class="keywordflow">if</span> (i != end)
{
cout &lt;&lt; *i;
<span class="keywordflow">while</span> (++i != end)
{
cout &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; *i;
}
}
cout &lt;&lt; <span class="stringliteral">&quot;},&quot;</span> &lt;&lt; val.b &lt;&lt; <span class="stringliteral">&quot;)&quot;</span> &lt;&lt; endl;
}
);
<span class="keywordflow">return</span> 0;
}
</pre></div> </div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:05 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: announce_example_2.cpp</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">announce_example_2.cpp</div> </div>
</div>
<div class="contents">
<p>An example for <code>announce</code> with getter and setter member functions. The output of this example program is:</p>
<p><code>foo(1,2)</code></p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;utility&gt;</span>
<span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &quot;cppa/cppa.hpp&quot;</span>
<span class="keyword">using</span> std::cout;
<span class="keyword">using</span> std::endl;
<span class="keyword">using</span> std::make_pair;
<span class="keyword">using namespace </span>cppa;
<span class="comment">// a simple class using getter and setter member functions</span>
<span class="keyword">class </span>foo
{
<span class="keywordtype">int</span> m_a;
<span class="keywordtype">int</span> m_b;
<span class="keyword">public</span>:
foo() : m_a(0), m_b(0) { }
foo(<span class="keywordtype">int</span> a0, <span class="keywordtype">int</span> b0) : m_a(a0), m_b(b0) { }
foo(<span class="keyword">const</span> foo&amp;) = <span class="keywordflow">default</span>;
foo&amp; operator=(<span class="keyword">const</span> foo&amp;) = <span class="keywordflow">default</span>;
<span class="keywordtype">int</span> a()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_a; }
<span class="keywordtype">void</span> set_a(<span class="keywordtype">int</span> val) { m_a = val; }
<span class="keywordtype">int</span> b()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_b; }
<span class="keywordtype">void</span> set_b(<span class="keywordtype">int</span> val) { m_b = val; }
};
<span class="comment">// announce requires foo to have the equal operator implemented</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> foo&amp; lhs, <span class="keyword">const</span> foo&amp; rhs)
{
<span class="keywordflow">return</span> lhs.a() == rhs.a()
&amp;&amp; lhs.b() == rhs.b();
}
<span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)
{
<span class="comment">// if a class uses getter and setter member functions,</span>
<span class="comment">// we pass those to the announce function as { getter, setter } pairs.</span>
announce&lt;foo&gt;(make_pair(&amp;foo::a, &amp;foo::set_a),
make_pair(&amp;foo::b, &amp;foo::set_b));
<span class="comment">// send a foo to ourselves ...</span>
<a name="a0"></a><a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), foo{1,2});
<a name="a1"></a><a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
<span class="comment">// ... and receive it</span>
on&lt;foo&gt;() &gt;&gt; [](<span class="keyword">const</span> foo&amp; val)
{
cout &lt;&lt; <span class="stringliteral">&quot;foo(&quot;</span>
&lt;&lt; val.a() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>
&lt;&lt; val.b() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>
&lt;&lt; endl;
}
);
<span class="keywordflow">return</span> 0;
}
</pre></div> </div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: announce_example_3.cpp</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">announce_example_3.cpp</div> </div>
</div>
<div class="contents">
<p>An example for <code>announce</code> with overloaded getter and setter member functions. The output of this example program is:</p>
<p><code>foo(1,2)</code></p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;utility&gt;</span>
<span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &quot;cppa/cppa.hpp&quot;</span>
<span class="keyword">using</span> std::cout;
<span class="keyword">using</span> std::endl;
<span class="keyword">using</span> std::make_pair;
<span class="keyword">using namespace </span>cppa;
<span class="comment">// a simple class using overloaded getter and setter member functions</span>
<span class="keyword">class </span>foo
{
<span class="keywordtype">int</span> m_a;
<span class="keywordtype">int</span> m_b;
<span class="keyword">public</span>:
foo() : m_a(0), m_b(0) { }
foo(<span class="keywordtype">int</span> a0, <span class="keywordtype">int</span> b0) : m_a(a0), m_b(b0) { }
foo(<span class="keyword">const</span> foo&amp;) = <span class="keywordflow">default</span>;
foo&amp; operator=(<span class="keyword">const</span> foo&amp;) = <span class="keywordflow">default</span>;
<span class="keywordtype">int</span> a()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_a; }
<span class="keywordtype">void</span> a(<span class="keywordtype">int</span> val) { m_a = val; }
<span class="keywordtype">int</span> b()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_b; }
<span class="keywordtype">void</span> b(<span class="keywordtype">int</span> val) { m_b = val; }
};
<span class="comment">// announce requires foo to have the equal operator implemented</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> foo&amp; lhs, <span class="keyword">const</span> foo&amp; rhs)
{
<span class="keywordflow">return</span> lhs.a() == rhs.a()
&amp;&amp; lhs.b() == rhs.b();
}
<span class="comment">// a member function pointer to get an attribute of foo</span>
<span class="keyword">typedef</span> int (foo::*foo_getter)() <span class="keyword">const</span>;
<span class="comment">// a member function pointer to set an attribute of foo</span>
<span class="keyword">typedef</span> void (foo::*foo_setter)(int);
<span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)
{
<span class="comment">// since the member function &quot;a&quot; is ambiguous, the compiler</span>
<span class="comment">// also needs a type to select the correct overload</span>
foo_getter g1 = &amp;foo::a;
foo_setter s1 = &amp;foo::a;
<span class="comment">// same is true for b</span>
foo_getter g2 = &amp;foo::b;
foo_setter s2 = &amp;foo::b;
<span class="comment">// equal to example 3</span>
announce&lt;foo&gt;(make_pair(g1, s1), make_pair(g2, s2));
<span class="comment">// alternative syntax that uses casts instead of variables</span>
<span class="comment">// (returns false since foo is already announced)</span>
announce&lt;foo&gt;(make_pair(static_cast&lt;foo_getter&gt;(&amp;foo::a),
static_cast&lt;foo_setter&gt;(&amp;foo::a)),
make_pair(static_cast&lt;foo_getter&gt;(&amp;foo::b),
static_cast&lt;foo_setter&gt;(&amp;foo::b)));
<span class="comment">// send a foo to ourselves ...</span>
<a name="a0"></a><a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), foo{1,2});
<a name="a1"></a><a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
<span class="comment">// ... and receive it</span>
on&lt;foo&gt;() &gt;&gt; [](<span class="keyword">const</span> foo&amp; val)
{
cout &lt;&lt; <span class="stringliteral">&quot;foo(&quot;</span>
&lt;&lt; val.a() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>
&lt;&lt; val.b() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>
&lt;&lt; endl;
}
);
<span class="keywordflow">return</span> 0;
}
</pre></div> </div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: announce_example_4.cpp</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">announce_example_4.cpp</div> </div>
</div>
<div class="contents">
<p>An example for <code>announce</code> with non-primitive members. The output of this example program is:</p>
<p><code>bar(foo(1,2),3)</code></p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &quot;cppa/cppa.hpp&quot;</span>
<span class="preprocessor">#include &quot;cppa/to_string.hpp&quot;</span>
<span class="keyword">using</span> std::cout;
<span class="keyword">using</span> std::endl;
<span class="keyword">using</span> std::make_pair;
<span class="keyword">using namespace </span>cppa;
<span class="comment">// the foo class from example 3</span>
<span class="keyword">class </span>foo
{
<span class="keywordtype">int</span> m_a;
<span class="keywordtype">int</span> m_b;
<span class="keyword">public</span>:
foo() : m_a(0), m_b(0) { }
foo(<span class="keywordtype">int</span> a0, <span class="keywordtype">int</span> b0) : m_a(a0), m_b(b0) { }
foo(<span class="keyword">const</span> foo&amp;) = <span class="keywordflow">default</span>;
foo&amp; operator=(<span class="keyword">const</span> foo&amp;) = <span class="keywordflow">default</span>;
<span class="keywordtype">int</span> a()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_a; }
<span class="keywordtype">void</span> set_a(<span class="keywordtype">int</span> val) { m_a = val; }
<span class="keywordtype">int</span> b()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_b; }
<span class="keywordtype">void</span> set_b(<span class="keywordtype">int</span> val) { m_b = val; }
};
<span class="comment">// needed for operator==() of bar</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> foo&amp; lhs, <span class="keyword">const</span> foo&amp; rhs)
{
<span class="keywordflow">return</span> lhs.a() == rhs.a()
&amp;&amp; lhs.b() == rhs.b();
}
<span class="comment">// simple struct that has foo as a member</span>
<span class="keyword">struct </span>bar
{
foo f;
<span class="keywordtype">int</span> i;
};
<span class="comment">// announce requires bar to have the equal operator implemented</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> bar&amp; lhs, <span class="keyword">const</span> bar&amp; rhs)
{
<span class="keywordflow">return</span> lhs.f == rhs.f
&amp;&amp; lhs.i == rhs.i;
}
<span class="comment">// &quot;worst case&quot; class ... not a good software design at all ;)</span>
<span class="keyword">class </span>baz
{
foo m_f;
<span class="keyword">public</span>:
bar b;
<span class="comment">// announce requires a default constructor</span>
baz() = <span class="keywordflow">default</span>;
<span class="keyword">inline</span> baz(<span class="keyword">const</span> foo&amp; mf, <span class="keyword">const</span> bar&amp; mb) : m_f(mf), b(mb) { }
<span class="keyword">const</span> foo&amp; f()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_f; }
<span class="keywordtype">void</span> set_f(<span class="keyword">const</span> foo&amp; val) { m_f = val; }
};
<span class="comment">// even worst case classes have to implement operator==</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> baz&amp; lhs, <span class="keyword">const</span> baz&amp; rhs)
{
<span class="keywordflow">return</span> lhs.f() == rhs.f()
&amp;&amp; lhs.b == rhs.b;
}
<span class="keywordtype">int</span> main(<span class="keywordtype">int</span>, <span class="keywordtype">char</span>**)
{
<span class="comment">// bar has a non-trivial data member f, thus, we have to told</span>
<span class="comment">// announce how to serialize/deserialize this member;</span>
<span class="comment">// this is was the compound_member function is for;</span>
<span class="comment">// it takes a pointer to the non-trivial member as first argument</span>
<span class="comment">// followed by all &quot;sub-members&quot; either as member pointer or</span>
<span class="comment">// { getter, setter } pair</span>
announce&lt;bar&gt;(compound_member(&amp;bar::f,
make_pair(&amp;foo::a, &amp;foo::set_a),
make_pair(&amp;foo::b, &amp;foo::set_b)),
&amp;bar::i);
<span class="comment">// baz has non-trivial data members with getter/setter pair</span>
<span class="comment">// and getter returning a mutable reference</span>
announce&lt;baz&gt;(compound_member(make_pair(&amp;baz::f, &amp;baz::set_f),
make_pair(&amp;foo::a, &amp;foo::set_a),
make_pair(&amp;foo::b, &amp;foo::set_b)),
<span class="comment">// compound member that has a compound member</span>
compound_member(&amp;baz::b,
compound_member(&amp;bar::f,
make_pair(&amp;foo::a, &amp;foo::set_a),
make_pair(&amp;foo::b, &amp;foo::set_b)),
&amp;bar::i));
<span class="comment">// send a bar to ourselves</span>
<a name="a0"></a><a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), bar{foo{1,2},3});
<span class="comment">// send a baz to ourselves</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), baz{foo{1,2},bar{foo{3,4},5}});
<span class="comment">// receive two messages</span>
<span class="keywordtype">int</span> i = 0;
<a name="a1"></a><a class="code" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7" title="Receives messages as long as stmt returns true.">receive_while</a>([&amp;]() { <span class="keywordflow">return</span> ++i &lt;= 2; })
(
on&lt;bar&gt;() &gt;&gt; [](<span class="keyword">const</span> bar&amp; val)
{
cout &lt;&lt; <span class="stringliteral">&quot;bar(foo(&quot;</span>
&lt;&lt; val.f.a() &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>
&lt;&lt; val.f.b() &lt;&lt; <span class="stringliteral">&quot;),&quot;</span>
&lt;&lt; val.i &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>
&lt;&lt; endl;
},
on&lt;baz&gt;() &gt;&gt; []()
{
<span class="comment">// prints: @&lt;&gt; ( { baz ( foo ( 1, 2 ), bar ( foo ( 3, 4 ), 5 ) ) } )</span>
cout &lt;&lt; to_string(<a name="a2"></a><a class="code" href="namespacecppa.html#abf2fc4e0570df2765d49fd80cee410c9" title="Gets the last dequeued message from the mailbox.">last_received</a>()) &lt;&lt; endl;
}
);
<span class="keywordflow">return</span> 0;
}
</pre></div> </div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: announce_example_5.cpp</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">announce_example_5.cpp</div> </div>
</div>
<div class="contents">
<p>An advanced example for <code>announce</code> implementing serialization for a user-defined tree data type.</p>
<div class="fragment"><pre class="fragment"><span class="comment">/******************************************************************************</span>
<span class="comment"> * This example shows how to implement serialize/deserialize to announce *</span>
<span class="comment"> * non-trivial data structures to the libcppa type system. *</span>
<span class="comment"> * *</span>
<span class="comment"> * Announce() auto-detects STL compliant containers and provides *</span>
<span class="comment"> * an easy way to tell libcppa how to serialize user defined types. *</span>
<span class="comment"> * See announce_example 1-4 for usage examples. *</span>
<span class="comment"> * *</span>
<span class="comment"> * You should use &quot;hand written&quot; serialize/deserialize implementations *</span>
<span class="comment"> * if and only if there is no other way. *</span>
<span class="comment"> ******************************************************************************/</span>
<span class="preprocessor">#include &lt;cstdint&gt;</span>
<span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &quot;cppa/cppa.hpp&quot;</span>
<span class="preprocessor">#include &quot;cppa/to_string.hpp&quot;</span>
<span class="keyword">using</span> std::cout;
<span class="keyword">using</span> std::endl;
<span class="keyword">using namespace </span>cppa;
<span class="comment">// a node containing an integer and a vector of children</span>
<span class="keyword">struct </span>tree_node
{
std::uint32_t value;
std::vector&lt;tree_node&gt; children;
tree_node(std::uint32_t v = 0) : value(v)
{
}
tree_node&amp; add_child(<span class="keywordtype">int</span> v = 0)
{
children.push_back({ v });
<span class="keywordflow">return</span> *<span class="keyword">this</span>;
}
tree_node(<span class="keyword">const</span> tree_node&amp;) = <span class="keywordflow">default</span>;
<span class="comment">// recursively print this node and all of its children to stdout</span>
<span class="keywordtype">void</span> print()<span class="keyword"> const</span>
<span class="keyword"> </span>{
<span class="comment">// format is: value { children0, children1, ..., childrenN }</span>
<span class="comment">// e.g., 10 { 20 { 21, 22 }, 30 }</span>
cout &lt;&lt; value;
<span class="keywordflow">if</span> (children.empty() == <span class="keyword">false</span>)
{
cout &lt;&lt; <span class="stringliteral">&quot; { &quot;</span>;
<span class="keyword">auto</span> begin = children.begin();
<span class="keyword">auto</span> end = children.end();
<span class="keywordflow">for</span> (<span class="keyword">auto</span> i = begin; i != end; ++i)
{
<span class="keywordflow">if</span> (i != begin)
{
cout &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;
}
i-&gt;print();
}
cout &lt;&lt; <span class="stringliteral">&quot; } &quot;</span>;
}
}
};
<span class="comment">// a very primitive tree implementation</span>
<span class="keyword">struct </span>tree
{
tree_node root;
<span class="comment">// print tree to stdout</span>
<span class="keywordtype">void</span> print()<span class="keyword"> const</span>
<span class="keyword"> </span>{
cout &lt;&lt; <span class="stringliteral">&quot;tree::print: &quot;</span>;
root.print();
cout &lt;&lt; endl;
}
};
<span class="comment">// tree nodes are equals if values and all values of all children are equal</span>
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> tree_node&amp; lhs, <span class="keyword">const</span> tree_node&amp; rhs)
{
<span class="keywordflow">return</span> (lhs.value == rhs.value) &amp;&amp; (lhs.children == rhs.children);
}
<span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> tree&amp; lhs, <span class="keyword">const</span> tree&amp; rhs)
{
<span class="keywordflow">return</span> lhs.root == rhs.root;
}
<span class="comment">// abstract_uniform_type_info implements all functions of uniform_type_info</span>
<span class="comment">// except for serialize() and deserialize() if the template parameter T:</span>
<span class="comment">// - does have a default constructor</span>
<span class="comment">// - does have a copy constructor</span>
<span class="comment">// - does provide operator==</span>
<span class="keyword">class </span>tree_type_info : <span class="keyword">public</span> util::abstract_uniform_type_info&lt;tree&gt;
{
<span class="keyword">protected</span>:
<span class="keywordtype">void</span> serialize(<span class="keyword">const</span> <span class="keywordtype">void</span>* ptr, <a name="_a0"></a><a class="code" href="classcppa_1_1serializer.html" title="Technology-independent serialization interface.">serializer</a>* sink)<span class="keyword"> const</span>
<span class="keyword"> </span>{
<span class="comment">// ptr is guaranteed to be a pointer of type tree</span>
<span class="keyword">auto</span> tree_ptr = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>tree*<span class="keyword">&gt;</span>(ptr);
<span class="comment">// serialization always begins with begin_object(name())</span>
<span class="comment">// and ends with end_object();</span>
<span class="comment">// name() returns the uniform type name of tree</span>
sink-&gt;<a name="a1"></a><a class="code" href="classcppa_1_1serializer.html#ad87c5557dc2582f1df7e6c8770c49286" title="Begins serialization of an object of the type named type_name.">begin_object</a>(name());
<span class="comment">// recursively serialize nodes, beginning with root</span>
serialize_node(tree_ptr-&gt;root, sink);
sink-&gt;<a name="a2"></a><a class="code" href="classcppa_1_1serializer.html#ab7d4c4dba33a86d3a86dd63d1d386ba0" title="Ends serialization of an object.">end_object</a>();
}
<span class="keywordtype">void</span> deserialize(<span class="keywordtype">void</span>* ptr, <a name="_a3"></a><a class="code" href="classcppa_1_1deserializer.html" title="Technology-independent deserialization interface.">deserializer</a>* source)<span class="keyword"> const</span>
<span class="keyword"> </span>{
<span class="comment">// seek_object() gets the uniform name of the next object in the</span>
<span class="comment">// stream without modifying the deserializer</span>
std::string cname = source-&gt;<a name="a4"></a><a class="code" href="classcppa_1_1deserializer.html#aac302b6a8c6e3f2c0006750968b7a975" title="Seeks the beginning of the next object and return its uniform type name.">seek_object</a>();
<span class="comment">// this name has to be our type name</span>
<span class="keywordflow">if</span> (cname != name())
{
<span class="keywordflow">throw</span> std::logic_error(<span class="stringliteral">&quot;wrong type name found&quot;</span>);
}
<span class="comment">// ptr is guaranteed to be a pointer of type tree</span>
<span class="keyword">auto</span> tree_ptr = <span class="keyword">reinterpret_cast&lt;</span>tree*<span class="keyword">&gt;</span>(ptr);
tree_ptr-&gt;root.children.clear();
<span class="comment">// workflow is analogous to serialize: begin_object() ... end_object()</span>
source-&gt;<a name="a5"></a><a class="code" href="classcppa_1_1deserializer.html#a0dd429dbb1e6e5410e907a0727e2e26d" title="Begins deserialization of an object of type type_name.">begin_object</a>(cname);
<span class="comment">// recursively deserialize nodes, beginning with root</span>
deserialize_node(tree_ptr-&gt;root, source);
source-&gt;<a name="a6"></a><a class="code" href="classcppa_1_1deserializer.html#ab74eee91442d5f3fd979bbaea7036769" title="Ends deserialization of an object.">end_object</a>();
}
<span class="keyword">private</span>:
<span class="keywordtype">void</span> serialize_node(<span class="keyword">const</span> tree_node&amp; node, <a class="code" href="classcppa_1_1serializer.html" title="Technology-independent serialization interface.">serializer</a>* sink)<span class="keyword"> const</span>
<span class="keyword"> </span>{
<span class="comment">// value, ... children ...</span>
sink-&gt;<a name="a7"></a><a class="code" href="classcppa_1_1serializer.html#a2eb2aa15e5e772f570f56e9ae7c5eeae" title="Writes a single value to the data sink.">write_value</a>(node.value);
sink-&gt;<a name="a8"></a><a class="code" href="classcppa_1_1serializer.html#a5ff6beb06c8bb85de11fdfb33f0ea0aa" title="Begins serialization of a sequence of size num.">begin_sequence</a>(node.children.size());
<span class="keywordflow">for</span> (<span class="keyword">const</span> tree_node&amp; subnode : node.children)
{
serialize_node(subnode, sink);
}
sink-&gt;<a name="a9"></a><a class="code" href="classcppa_1_1serializer.html#a8c4e725095d8d51826f1ebc95e8b738a" title="Ends serialization of a sequence.">end_sequence</a>();
}
<span class="keywordtype">void</span> deserialize_node(tree_node&amp; node, <a class="code" href="classcppa_1_1deserializer.html" title="Technology-independent deserialization interface.">deserializer</a>* source)<span class="keyword"> const</span>
<span class="keyword"> </span>{
<span class="comment">// value, ... children ...</span>
<span class="keyword">auto</span> value = get&lt;std::uint32_t&gt;(source-&gt;<a name="a10"></a><a class="code" href="classcppa_1_1deserializer.html#a3cdf810f985cd64a0d429b1f28e203ca" title="Reads a primitive value from the data source of type ptype.">read_value</a>(<a name="a11"></a><a class="code" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a">pt_uint32</a>));
node.value = value;
<span class="keyword">auto</span> num_children = source-&gt;<a name="a12"></a><a class="code" href="classcppa_1_1deserializer.html#ab7342c6023ac82b8fc2e1c90db265f93" title="Begins deserialization of a sequence.">begin_sequence</a>();
<span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; num_children; ++i)
{
node.add_child();
deserialize_node(node.children.back(), source);
}
source-&gt;<a name="a13"></a><a class="code" href="classcppa_1_1deserializer.html#ad8b4ae56320e117ad03344d446e0cb6d" title="Ends deserialization of a sequence.">end_sequence</a>();
}
};
<span class="keywordtype">int</span> main()
{
<span class="comment">// the tree_type_info is owned by libcppa after this function call</span>
<a name="a14"></a><a class="code" href="group___type_system.html#ga7f73c466e0356b08161d77769aeb726f" title="Adds a new type mapping to the libcppa type system.">announce</a>(<span class="keyword">typeid</span>(tree), <span class="keyword">new</span> tree_type_info);
tree t; <span class="comment">// create a tree and fill it with some data</span>
t.root.add_child(10);
t.root.children.back().add_child(11).add_child(12).add_child(13);
t.root.add_child(20);
t.root.children.back().add_child(21).add_child(22);
<span class="comment">/*</span>
<span class="comment"> tree t is now:</span>
<span class="comment"> 0</span>
<span class="comment"> / \</span>
<span class="comment"> / \</span>
<span class="comment"> / \</span>
<span class="comment"> 10 20</span>
<span class="comment"> / |\ / \</span>
<span class="comment"> / | \ / \</span>
<span class="comment"> 11 12 13 21 22</span>
<span class="comment"> */</span>
<span class="comment">// send a tree to ourselves ...</span>
<a name="a15"></a><a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), t);
<span class="comment">// send a vector of trees to ourselves</span>
<span class="keyword">typedef</span> std::vector&lt;tree&gt; tree_vector;
announce&lt;tree_vector&gt;();
tree_vector tvec;
tvec.push_back(t);
tvec.push_back(t);
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), tvec);
<span class="comment">// receive both messages</span>
<span class="keywordtype">int</span> i = 0;
<a name="a16"></a><a class="code" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7" title="Receives messages as long as stmt returns true.">receive_while</a>([&amp;]() { <span class="keywordflow">return</span> ++i &lt;= 2; })
(
<span class="comment">// ... and receive it</span>
on&lt;tree&gt;() &gt;&gt; [](<span class="keyword">const</span> tree&amp; tmsg)
{
<span class="comment">// prints the tree in its serialized format:</span>
<span class="comment">// @&lt;&gt; ( { tree ( 0, { 10, { 11, { }, 12, { }, 13, { } }, 20, { 21, { }, 22, { } } } ) } )</span>
cout &lt;&lt; <span class="stringliteral">&quot;to_string(last_received()): &quot;</span>
&lt;&lt; to_string(<a name="a17"></a><a class="code" href="namespacecppa.html#abf2fc4e0570df2765d49fd80cee410c9" title="Gets the last dequeued message from the mailbox.">last_received</a>())
&lt;&lt; endl;
<span class="comment">// prints the tree using the print member function:</span>
<span class="comment">// 0 { 10 { 11, 12, 13 } , 20 { 21, 22 } }</span>
tmsg.print();
},
on&lt;tree_vector&gt;() &gt;&gt; [](<span class="keyword">const</span> tree_vector&amp; trees)
{
<span class="comment">// prints &quot;received 2 trees&quot;</span>
cout &lt;&lt; <span class="stringliteral">&quot;received &quot;</span> &lt;&lt; trees.size() &lt;&lt; <span class="stringliteral">&quot; trees&quot;</span> &lt;&lt; endl;
<span class="comment">// prints:</span>
<span class="comment">// @&lt;&gt; ( {</span>
<span class="comment">// std::vector&lt;tree,std::allocator&lt;tree&gt;&gt; ( {</span>
<span class="comment">// tree ( 0, { 10, { 11, { }, 12, { }, 13, { } }, 20, { 21, { }, 22, { } } } ),</span>
<span class="comment">// tree ( 0, { 10, { 11, { }, 12, { }, 13, { } }, 20, { 21, { }, 22, { } } } )</span>
<span class="comment">// )</span>
<span class="comment">// } )</span>
cout &lt;&lt; <span class="stringliteral">&quot;to_string: &quot;</span> &lt;&lt; to_string(<a class="code" href="namespacecppa.html#abf2fc4e0570df2765d49fd80cee410c9" title="Gets the last dequeued message from the mailbox.">last_received</a>()) &lt;&lt; endl;
}
);
<span class="keywordflow">return</span> 0;
}
</pre></div> </div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
bc_s.png

705 Bytes

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1actor.html">actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::actor Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1actor.html">cppa::actor</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1f4813520d9e42e81418ef5688fa01ce">attach</a>(attachable *ptr)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">attach_functor</a>(F &amp;&amp;ftor)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">by_id</a>(std::uint32_t actor_id)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af984afca4a4d83d233d2c88ecab3c25b">detach</a>(const attachable::token &amp;what)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">enqueue</a>(actor *sender, const any_tuple &amp;msg)=0</td><td><a class="el" href="classcppa_1_1channel.html">cppa::channel</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a81f264bf10218ec66a04ed2bad609930">establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">id</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">join</a>(group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">leave</a>(const group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a168ff508e1ace0970c80333a57cfcfcf">link_to</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a12939ac3ae8018bb96a3b85b39f2570d">link_to</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">parent_process</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">parent_process_ptr</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a14e2aa6ed4ab11662c3b831c022798cc">remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a9bc15c2a879dad10ba8a2ae8e885e72d">unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::actor Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1actor.html">actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::actor Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::actor" --><!-- doxytag: inherits="cppa::channel" -->
<p><code>#include &lt;actor.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::actor:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1actor.png" usemap="#cppa::actor_map" alt=""/>
<map id="cppa::actor_map" name="cppa::actor_map">
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="130,56,380,80"/>
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="130,0,380,24"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; actor &gt;" shape="rect" coords="0,168,250,192"/>
<area href="classcppa_1_1local__actor.html" title="Base class for local running Actors." alt="cppa::local_actor" shape="rect" coords="260,168,510,192"/>
<area href="classcppa_1_1actor__proxy.html" title="Represents a remote Actor." alt="cppa::actor_proxy" shape="rect" coords="0,224,250,248"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; local_actor &gt;" shape="rect" coords="260,224,510,248"/>
<area href="classcppa_1_1detail_1_1converted__thread__context.html" title="Represents a thread that was converted to an Actor." alt="cppa::detail::converted_thread_context" shape="rect" coords="130,280,380,304"/>
<area href="classcppa_1_1detail_1_1scheduled__actor.html" title="A spawned, scheduled Actor." alt="cppa::detail::scheduled_actor" shape="rect" coords="390,280,640,304"/>
</map>
</div></div>
<p><a href="classcppa_1_1actor-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a1f4813520d9e42e81418ef5688fa01ce">attach</a> (<a class="el" href="classcppa_1_1attachable.html">attachable</a> *ptr)=0</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename F &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">attach_functor</a> (F &amp;&amp;ftor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#af984afca4a4d83d233d2c88ecab3c25b">detach</a> (const attachable::token &amp;what)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">join</a> (<a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">group_ptr</a> &amp;what)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">leave</a> (const <a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">group_ptr</a> &amp;what)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a168ff508e1ace0970c80333a57cfcfcf">link_to</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;other)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a9bc15c2a879dad10ba8a2ae8e885e72d">unlink_from</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;other)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a81f264bf10218ec66a04ed2bad609930">establish_backlink</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;other)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a14e2aa6ed4ab11662c3b831c022798cc">remove_backlink</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;other)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a12939ac3ae8018bb96a3b85b39f2570d">link_to</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">unlink_from</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">remove_backlink</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;to)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">establish_backlink</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;to)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcppa_1_1process__information.html">process_information</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">parent_process</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#a6176abcec9771fe0a6138290da091614">process_information_ptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">parent_process_ptr</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">id</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">by_id</a> (std::uint32_t actor_id)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Base class for all actor implementations. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1f4813520d9e42e81418ef5688fa01ce"></a><!-- doxytag: member="cppa::actor::attach" ref="a1f4813520d9e42e81418ef5688fa01ce" args="(attachable *ptr)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::actor::attach </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1attachable.html">attachable</a> *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attaches <code>ptr</code> to this actor (the actor takes ownership of <code>ptr</code>). </p>
<p>The actor will call <code>ptr-&gt;detach(...)</code> on exit or immediately if he already exited.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>ptr</code> was successfully attached to the actor; otherwise (actor already exited) <code>false</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a28f8b6881e6becd0e78748deac75dadc"></a><!-- doxytag: member="cppa::actor::attach_functor" ref="a28f8b6881e6becd0e78748deac75dadc" args="(F &amp;&amp;ftor)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename F &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool cppa::actor::attach_functor </td>
<td>(</td>
<td class="paramtype">F &amp;&amp;&#160;</td>
<td class="paramname"><em>ftor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Attaches the functor or function <code>ftor</code> to this actor. </p>
<p>The actor executes <code>ftor()</code> on exit or immediatley if he already exited. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>ftor</code> was successfully attached to the actor; otherwise (actor already exited) <code>false</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ab8940c67681146f6c907a525ce63558e"></a><!-- doxytag: member="cppa::actor::by_id" ref="ab8940c67681146f6c907a525ce63558e" args="(std::uint32_t actor_id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1actor.html">actor</a>&gt; cppa::actor::by_id </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>actor_id</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the actor that has the unique identifier <code>actor_id</code>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the requestet actor or <code>nullptr</code> if no running actor with the ID <code>actor_id</code> was found in this process. </dd></dl>
</div>
</div>
<a class="anchor" id="af984afca4a4d83d233d2c88ecab3c25b"></a><!-- doxytag: member="cppa::actor::detach" ref="af984afca4a4d83d233d2c88ecab3c25b" args="(const attachable::token &amp;what)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::actor::detach </td>
<td>(</td>
<td class="paramtype">const attachable::token &amp;&#160;</td>
<td class="paramname"><em>what</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Detaches the first attached object that matches <code>what</code>. </p>
</div>
</div>
<a class="anchor" id="a81f264bf10218ec66a04ed2bad609930"></a><!-- doxytag: member="cppa::actor::establish_backlink" ref="a81f264bf10218ec66a04ed2bad609930" args="(intrusive_ptr&lt; actor &gt; &amp;other)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::actor::establish_backlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Establishes a link relation between this actor and <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that wants to link against this Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if this actor is running and added <code>other</code> to its list of linked actors; otherwise <code>false</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1actor__proxy.html#a6d022f1fc98a080b4fc8d77582f1a30a">cppa::actor_proxy</a>.</p>
</div>
</div>
<a class="anchor" id="af35550dff1f765a6575e26787619cc7b"></a><!-- doxytag: member="cppa::actor::establish_backlink" ref="af35550dff1f765a6575e26787619cc7b" args="(intrusive_ptr&lt; actor &gt; &amp;&amp;to)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::actor::establish_backlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>to</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Establishes a link relation between this actor and <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that wants to link against this Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if this actor is running and added <code>other</code> to its list of linked actors; otherwise <code>false</code>. </dd></dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a1bcf6d0dda3abb9ba1811c62efc998c9"></a><!-- doxytag: member="cppa::actor::id" ref="a1bcf6d0dda3abb9ba1811c62efc998c9" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t cppa::actor::id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets an integer value that uniquely identifies this Actor in the process it's executed in. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The unique identifier of this actor. </dd></dl>
</div>
</div>
<a class="anchor" id="a241fc28c611582b32745b7ae12427d4e"></a><!-- doxytag: member="cppa::actor::join" ref="a241fc28c611582b32745b7ae12427d4e" args="(group_ptr &amp;what)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor::join </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">group_ptr</a> &amp;&#160;</td>
<td class="paramname"><em>what</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forces this actor to subscribe to the group <code>what</code>. </p>
<p>The group will be unsubscribed if the actor finishes execution. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what</td><td>Group instance that should be joined. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a87a1491e1d43994ddf099643b9443c50"></a><!-- doxytag: member="cppa::actor::leave" ref="a87a1491e1d43994ddf099643b9443c50" args="(const group_ptr &amp;what)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor::leave </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">group_ptr</a> &amp;&#160;</td>
<td class="paramname"><em>what</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Forces this actor to leave the group <code>what</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what</td><td>Joined group that should be leaved. </td></tr>
</table>
</dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Groups are leaved automatically if the Actor finishes execution. </dd></dl>
</div>
</div>
<a class="anchor" id="a168ff508e1ace0970c80333a57cfcfcf"></a><!-- doxytag: member="cppa::actor::link_to" ref="a168ff508e1ace0970c80333a57cfcfcf" args="(intrusive_ptr&lt; actor &gt; &amp;other)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::actor::link_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links this actor to <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that whose execution is coupled to the execution of this Actor. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classcppa_1_1actor__proxy.html#a346c923365e78867139e7fe365b60cd3">cppa::actor_proxy</a>.</p>
</div>
</div>
<a class="anchor" id="a12939ac3ae8018bb96a3b85b39f2570d"></a><!-- doxytag: member="cppa::actor::link_to" ref="a12939ac3ae8018bb96a3b85b39f2570d" args="(intrusive_ptr&lt; actor &gt; &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor::link_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links this actor to <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that whose execution is coupled to the execution of this Actor. </td></tr>
</table>
</dd>
</dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a87ed615d0b51a21ed8c7963c60b8c58b"></a><!-- doxytag: member="cppa::actor::parent_process" ref="a87ed615d0b51a21ed8c7963c60b8c58b" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classcppa_1_1process__information.html">process_information</a> &amp; cppa::actor::parent_process </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the <a class="el" href="classcppa_1_1process__information.html">process_information</a> of the parent process. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="classcppa_1_1process__information.html">process_information</a> of the parent process. </dd></dl>
</div>
</div>
<a class="anchor" id="a4cc1aa76e5a902d82b05c05fa7ade100"></a><!-- doxytag: member="cppa::actor::parent_process_ptr" ref="a4cc1aa76e5a902d82b05c05fa7ade100" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#a6176abcec9771fe0a6138290da091614">process_information_ptr</a> cppa::actor::parent_process_ptr </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the <a class="el" href="classcppa_1_1process__information.html">process_information</a> pointer of the parent process. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the <a class="el" href="classcppa_1_1process__information.html">process_information</a> of the parent process. </dd></dl>
</div>
</div>
<a class="anchor" id="a14e2aa6ed4ab11662c3b831c022798cc"></a><!-- doxytag: member="cppa::actor::remove_backlink" ref="a14e2aa6ed4ab11662c3b831c022798cc" args="(intrusive_ptr&lt; actor &gt; &amp;other)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::actor::remove_backlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a link relation between this actor and <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that wants to unlink from this Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if this actor is running and removed <code>other</code> from its list of linked actors; otherwise <code>false</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1actor__proxy.html#a702e27779d694060268759937450f200">cppa::actor_proxy</a>.</p>
</div>
</div>
<a class="anchor" id="a0344f0c785fdcec50644d95156cd8168"></a><!-- doxytag: member="cppa::actor::remove_backlink" ref="a0344f0c785fdcec50644d95156cd8168" args="(intrusive_ptr&lt; actor &gt; &amp;&amp;to)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::actor::remove_backlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>to</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a link relation between this actor and <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that wants to unlink from this Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if this actor is running and removed <code>other</code> from its list of linked actors; otherwise <code>false</code>. </dd></dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a9bc15c2a879dad10ba8a2ae8e885e72d"></a><!-- doxytag: member="cppa::actor::unlink_from" ref="a9bc15c2a879dad10ba8a2ae8e885e72d" args="(intrusive_ptr&lt; actor &gt; &amp;other)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::actor::unlink_from </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unlinks this actor from <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">oter</td><td>Linked Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Links are automatically removed if the Actor finishes execution. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1actor__proxy.html#a072f7efc8633be64fdc5fb8ac6ae3a0b">cppa::actor_proxy</a>.</p>
</div>
</div>
<a class="anchor" id="a70c9d68d260abc5df613ab54f6388db4"></a><!-- doxytag: member="cppa::actor::unlink_from" ref="a70c9d68d260abc5df613ab54f6388db4" args="(intrusive_ptr&lt; actor &gt; &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor::unlink_from </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unlinks this actor from <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">oter</td><td>Linked Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Links are automatically removed if the Actor finishes execution. </dd></dl>
Support for rvalue references. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/actor.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::actor_exited Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1actor__exited.html">cppa::actor_exited</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#ab52e9a763fa4da8ec05a80b4af2d15ff">exception</a>(std::string &amp;&amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">exception</a>(const std::string &amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor__exited.html#abc928e0356c14c2d9b64d31df5d60a2e">reason</a>() const </td><td><a class="el" href="classcppa_1_1actor__exited.html">cppa::actor_exited</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">what</a>() const </td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::actor_exited Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::actor_exited Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::actor_exited" --><!-- doxytag: inherits="cppa::exception" -->
<p><code>#include &lt;exception.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::actor_exited:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1actor__exited.png" usemap="#cppa::actor_exited_map" alt=""/>
<map id="cppa::actor_exited_map" name="cppa::actor_exited_map">
<area href="classcppa_1_1exception.html" title="Base class for libcppa exceptions." alt="cppa::exception" shape="rect" coords="0,0,115,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1actor__exited-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__exited.html#abc928e0356c14c2d9b64d31df5d60a2e">reason</a> () const throw ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Thrown if an actor finished execution. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="abc928e0356c14c2d9b64d31df5d60a2e"></a><!-- doxytag: member="cppa::actor_exited::reason" ref="abc928e0356c14c2d9b64d31df5d60a2e" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t cppa::actor_exited::reason </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const throw ()</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the exit reason. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The exit reason of the terminating actor either set via <a class="el" href="namespacecppa.html#a7cd61e78b141f059c8b141be8078ea2c">quit</a> or by a special (exit) message. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/exception.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1actor__proxy.html">actor_proxy</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::actor_proxy Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">attach_functor</a>(F &amp;&amp;ftor)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">by_id</a>(std::uint32_t actor_id)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor__proxy.html#a42d5c66ce433a5bf8042d3d12e57cf85">enqueue</a>(actor *sender, const any_tuple &amp;msg)</td><td><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor__proxy.html#a6d022f1fc98a080b4fc8d77582f1a30a">establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;to)</td><td><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">cppa::actor::establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">id</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">join</a>(group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">leave</a>(const group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor__proxy.html#a346c923365e78867139e7fe365b60cd3">link_to</a>(intrusive_ptr&lt; actor &gt; &amp;other)</td><td><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a12939ac3ae8018bb96a3b85b39f2570d">cppa::actor::link_to</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">parent_process</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">parent_process_ptr</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor__proxy.html#a702e27779d694060268759937450f200">remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;to)</td><td><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">cppa::actor::remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor__proxy.html#a072f7efc8633be64fdc5fb8ac6ae3a0b">unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;other)</td><td><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">cppa::actor::unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::actor_proxy Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1actor__proxy.html">actor_proxy</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::actor_proxy Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::actor_proxy" --><!-- doxytag: inherits="abstract_actor&lt; actor &gt;" -->
<p><code>#include &lt;actor_proxy.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::actor_proxy:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1actor__proxy.png" usemap="#cppa::actor_proxy_map" alt=""/>
<map id="cppa::actor_proxy_map" name="cppa::actor_proxy_map">
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; actor &gt;" shape="rect" coords="0,168,216,192"/>
<area href="classcppa_1_1actor.html" title="Base class for all actor implementations." alt="cppa::actor" shape="rect" coords="0,112,216,136"/>
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="0,56,216,80"/>
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="0,0,216,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1actor__proxy-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__proxy.html#a42d5c66ce433a5bf8042d3d12e57cf85">enqueue</a> (<a class="el" href="classcppa_1_1actor.html">actor</a> *sender, const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;msg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__proxy.html#a346c923365e78867139e7fe365b60cd3">link_to</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__proxy.html#a072f7efc8633be64fdc5fb8ac6ae3a0b">unlink_from</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__proxy.html#a702e27779d694060268759937450f200">remove_backlink</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;to)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__proxy.html#a6d022f1fc98a080b4fc8d77582f1a30a">establish_backlink</a> (<a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;to)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Represents a remote Actor. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a42d5c66ce433a5bf8042d3d12e57cf85"></a><!-- doxytag: member="cppa::actor_proxy::enqueue" ref="a42d5c66ce433a5bf8042d3d12e57cf85" args="(actor *sender, const any_tuple &amp;msg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor_proxy::enqueue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1actor.html">actor</a> *&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"><em>msg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enqueues <code>msg</code> to the list of received messages. </p>
<p>Implements <a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">cppa::channel</a>.</p>
</div>
</div>
<a class="anchor" id="a6d022f1fc98a080b4fc8d77582f1a30a"></a><!-- doxytag: member="cppa::actor_proxy::establish_backlink" ref="a6d022f1fc98a080b4fc8d77582f1a30a" args="(intrusive_ptr&lt; actor &gt; &amp;to)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::actor_proxy::establish_backlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Establishes a link relation between this actor and <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that wants to link against this Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if this actor is running and added <code>other</code> to its list of linked actors; otherwise <code>false</code>. </dd></dl>
<p>Reimplemented from <a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; actor &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a346c923365e78867139e7fe365b60cd3"></a><!-- doxytag: member="cppa::actor_proxy::link_to" ref="a346c923365e78867139e7fe365b60cd3" args="(intrusive_ptr&lt; actor &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor_proxy::link_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links this actor to <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that whose execution is coupled to the execution of this Actor. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; actor &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a702e27779d694060268759937450f200"></a><!-- doxytag: member="cppa::actor_proxy::remove_backlink" ref="a702e27779d694060268759937450f200" args="(intrusive_ptr&lt; actor &gt; &amp;to)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::actor_proxy::remove_backlink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a link relation between this actor and <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>Actor instance that wants to unlink from this Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if this actor is running and removed <code>other</code> from its list of linked actors; otherwise <code>false</code>. </dd></dl>
<p>Reimplemented from <a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; actor &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a072f7efc8633be64fdc5fb8ac6ae3a0b"></a><!-- doxytag: member="cppa::actor_proxy::unlink_from" ref="a072f7efc8633be64fdc5fb8ac6ae3a0b" args="(intrusive_ptr&lt; actor &gt; &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::actor_proxy::unlink_from </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unlinks this actor from <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">oter</td><td>Linked Actor. </td></tr>
</table>
</dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Links are automatically removed if the Actor finishes execution. </dd></dl>
<p>Reimplemented from <a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; actor &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/actor_proxy.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::any_tuple Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1any__tuple.html">cppa::any_tuple</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::any_tuple Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::any_tuple Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::any_tuple" -->
<p><code>#include &lt;any_tuple.hpp&gt;</code></p>
<p><a href="classcppa_1_1any__tuple-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Describes a fixed-length tuple with elements of any type. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/any_tuple.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1attachable.html">attachable</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::attachable Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1attachable.html">cppa::attachable</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1attachable.html#a2edbd4aa191d5b300f5be4256d6e6384">detach</a>(std::uint32_t reason)</td><td><a class="el" href="classcppa_1_1attachable.html">cppa::attachable</a></td><td><code> [virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::attachable Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1attachable.html">attachable</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::attachable Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::attachable" -->
<p><code>#include &lt;attachable.hpp&gt;</code></p>
<p>Inherited by cppa::functor_attachable&lt; F &gt;, and cppa::group::unsubscriber.</p>
<p><a href="classcppa_1_1attachable-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1attachable.html#a2edbd4aa191d5b300f5be4256d6e6384">detach</a> (std::uint32_t reason)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Callback utility class. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2edbd4aa191d5b300f5be4256d6e6384"></a><!-- doxytag: member="cppa::attachable::detach" ref="a2edbd4aa191d5b300f5be4256d6e6384" args="(std::uint32_t reason)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::attachable::detach </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>reason</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Executed if the actor finished execution with given <code>reason</code>. </p>
<p>The default implementation does nothing. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/attachable.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1bind__failure.html">bind_failure</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::bind_failure Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1bind__failure.html">cppa::bind_failure</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1bind__failure.html#a5896714bd7174239529e80fdf19727d5">error_code</a>() const </td><td><a class="el" href="classcppa_1_1bind__failure.html">cppa::bind_failure</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#ab52e9a763fa4da8ec05a80b4af2d15ff">exception</a>(std::string &amp;&amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">exception</a>(const std::string &amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">what</a>() const </td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::bind_failure Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1bind__failure.html">bind_failure</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::bind_failure Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::bind_failure" --><!-- doxytag: inherits="cppa::network_error" -->
<p><code>#include &lt;exception.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::bind_failure:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1bind__failure.png" usemap="#cppa::bind_failure_map" alt=""/>
<map id="cppa::bind_failure_map" name="cppa::bind_failure_map">
<area href="classcppa_1_1network__error.html" title="Thrown to indicate that either an actor publishing failed or libcppa was unable to connect to a remot..." alt="cppa::network_error" shape="rect" coords="0,56,126,80"/>
<area href="classcppa_1_1exception.html" title="Base class for libcppa exceptions." alt="cppa::exception" shape="rect" coords="0,0,126,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1bind__failure-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1bind__failure.html#a5896714bd7174239529e80fdf19727d5">error_code</a> () const throw ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Thrown to indicate that an actor publishing failed because the requested port could not be used. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5896714bd7174239529e80fdf19727d5"></a><!-- doxytag: member="cppa::bind_failure::error_code" ref="a5896714bd7174239529e80fdf19727d5" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int cppa::bind_failure::error_code </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const throw ()</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the socket API error code. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The errno set by <code>bind()</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/exception.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1channel.html">channel</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::channel Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1channel.html">cppa::channel</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">enqueue</a>(actor *sender, const any_tuple &amp;msg)=0</td><td><a class="el" href="classcppa_1_1channel.html">cppa::channel</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::channel Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1channel.html">channel</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::channel Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::channel" --><!-- doxytag: inherits="cppa::ref_counted" -->
<p><code>#include &lt;channel.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::channel:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1channel.png" usemap="#cppa::channel_map" alt=""/>
<map id="cppa::channel_map" name="cppa::channel_map">
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="260,0,510,24"/>
<area href="classcppa_1_1actor.html" title="Base class for all actor implementations." alt="cppa::actor" shape="rect" coords="130,112,380,136"/>
<area href="classcppa_1_1group.html" title="A multicast group." alt="cppa::group" shape="rect" coords="390,112,640,136"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; actor &gt;" shape="rect" coords="0,168,250,192"/>
<area href="classcppa_1_1local__actor.html" title="Base class for local running Actors." alt="cppa::local_actor" shape="rect" coords="260,168,510,192"/>
<area href="classcppa_1_1actor__proxy.html" title="Represents a remote Actor." alt="cppa::actor_proxy" shape="rect" coords="0,224,250,248"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; local_actor &gt;" shape="rect" coords="260,224,510,248"/>
<area href="classcppa_1_1detail_1_1converted__thread__context.html" title="Represents a thread that was converted to an Actor." alt="cppa::detail::converted_thread_context" shape="rect" coords="130,280,380,304"/>
<area href="classcppa_1_1detail_1_1scheduled__actor.html" title="A spawned, scheduled Actor." alt="cppa::detail::scheduled_actor" shape="rect" coords="390,280,640,304"/>
</map>
</div></div>
<p><a href="classcppa_1_1channel-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">enqueue</a> (<a class="el" href="classcppa_1_1actor.html">actor</a> *sender, const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;msg)=0</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Interface for all message receivers. </p>
<p>This interface describes an entity that can receive messages and is implemented by <a class="el" href="classcppa_1_1actor.html">actor</a> and <a class="el" href="classcppa_1_1group.html">group</a>. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a31f530d62028dc6be1a5f7881a294ed8"></a><!-- doxytag: member="cppa::channel::enqueue" ref="a31f530d62028dc6be1a5f7881a294ed8" args="(actor *sender, const any_tuple &amp;msg)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::channel::enqueue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1actor.html">actor</a> *&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"><em>msg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enqueues <code>msg</code> to the list of received messages. </p>
<p>Implemented in <a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">cppa::local_actor</a>, and <a class="el" href="classcppa_1_1actor__proxy.html#a42d5c66ce433a5bf8042d3d12e57cf85">cppa::actor_proxy</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/channel.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1cow__ptr.html">cow_ptr</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::cow_ptr&lt; T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1cow__ptr.html">cppa::cow_ptr&lt; T &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::cow_ptr&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1cow__ptr.html">cow_ptr</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::cow_ptr&lt; T &gt; Class Template Reference<div class="ingroups"><a class="el" href="group___copy_on_write.html">Copy-on-write optimization.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::cow_ptr" -->
<p><code>#include &lt;cow_ptr.hpp&gt;</code></p>
<p><a href="classcppa_1_1cow__ptr-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class cppa::cow_ptr&lt; T &gt;</h3>
<p>A copy-on-write smart pointer implementation. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/cow_ptr.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1deserializer.html">deserializer</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::deserializer Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#a0dd429dbb1e6e5410e907a0727e2e26d">begin_object</a>(const std::string &amp;type_name)=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#ab7342c6023ac82b8fc2e1c90db265f93">begin_sequence</a>()=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#ab74eee91442d5f3fd979bbaea7036769">end_object</a>()=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#ad8b4ae56320e117ad03344d446e0cb6d">end_sequence</a>()=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#a2486ae2333c538cbb964c9925e3219d9">peek_object</a>()=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#a7ab5ff291c95d1b0e20a57086c422eb8">read_tuple</a>(size_t num, const primitive_type *ptypes, primitive_variant *storage)=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#a3cdf810f985cd64a0d429b1f28e203ca">read_value</a>(primitive_type ptype)=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1deserializer.html#aac302b6a8c6e3f2c0006750968b7a975">seek_object</a>()=0</td><td><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td><td><code> [pure virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::deserializer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1deserializer.html">deserializer</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::deserializer Class Reference<div class="ingroups"><a class="el" href="group___type_system.html">libcppa's platform-independent type system.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::deserializer" -->
<p><code>#include &lt;deserializer.hpp&gt;</code></p>
<p>Inherited by cppa::binary_deserializer.</p>
<p><a href="classcppa_1_1deserializer-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#aac302b6a8c6e3f2c0006750968b7a975">seek_object</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#a2486ae2333c538cbb964c9925e3219d9">peek_object</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#a0dd429dbb1e6e5410e907a0727e2e26d">begin_object</a> (const std::string &amp;type_name)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#ab74eee91442d5f3fd979bbaea7036769">end_object</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#ab7342c6023ac82b8fc2e1c90db265f93">begin_sequence</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#ad8b4ae56320e117ad03344d446e0cb6d">end_sequence</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#a3cdf810f985cd64a0d429b1f28e203ca">read_value</a> (<a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> ptype)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html#a7ab5ff291c95d1b0e20a57086c422eb8">read_tuple</a> (size_t num, const <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> *ptypes, <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> *storage)=0</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Technology-independent deserialization interface. </p>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="announce_example_5_8cpp-example.html#_a3">announce_example_5.cpp</a>.</p>
</dd>
</dl></div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0dd429dbb1e6e5410e907a0727e2e26d"></a><!-- doxytag: member="cppa::deserializer::begin_object" ref="a0dd429dbb1e6e5410e907a0727e2e26d" args="(const std::string &amp;type_name)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::deserializer::begin_object </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>type_name</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Begins deserialization of an object of type <code>type_name</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">type_name</td><td>The platform-independent <code>libcppa</code> type name. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a5">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab7342c6023ac82b8fc2e1c90db265f93"></a><!-- doxytag: member="cppa::deserializer::begin_sequence" ref="ab7342c6023ac82b8fc2e1c90db265f93" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual size_t cppa::deserializer::begin_sequence </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Begins deserialization of a sequence. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the sequence. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a12">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab74eee91442d5f3fd979bbaea7036769"></a><!-- doxytag: member="cppa::deserializer::end_object" ref="ab74eee91442d5f3fd979bbaea7036769" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::deserializer::end_object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Ends deserialization of an object. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a6">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad8b4ae56320e117ad03344d446e0cb6d"></a><!-- doxytag: member="cppa::deserializer::end_sequence" ref="ad8b4ae56320e117ad03344d446e0cb6d" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::deserializer::end_sequence </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Ends deserialization of a sequence. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a13">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a2486ae2333c538cbb964c9925e3219d9"></a><!-- doxytag: member="cppa::deserializer::peek_object" ref="a2486ae2333c538cbb964c9925e3219d9" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual std::string cppa::deserializer::peek_object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Equal to <a class="el" href="classcppa_1_1deserializer.html#aac302b6a8c6e3f2c0006750968b7a975">seek_object()</a> but doesn't modify the internal in-stream position. </p>
</div>
</div>
<a class="anchor" id="a7ab5ff291c95d1b0e20a57086c422eb8"></a><!-- doxytag: member="cppa::deserializer::read_tuple" ref="a7ab5ff291c95d1b0e20a57086c422eb8" args="(size_t num, const primitive_type *ptypes, primitive_variant *storage)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::deserializer::read_tuple </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> *&#160;</td>
<td class="paramname"><em>ptypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> *&#160;</td>
<td class="paramname"><em>storage</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads a tuple of primitive values from the data source of the types <code>ptypes</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">num</td><td>The size of the tuple. </td></tr>
<tr><td class="paramname">ptypes</td><td>Array of expected primitive data types. </td></tr>
<tr><td class="paramname">storage</td><td>Array of size <code>num</code>, storing the result of this function. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3cdf810f985cd64a0d429b1f28e203ca"></a><!-- doxytag: member="cppa::deserializer::read_value" ref="a3cdf810f985cd64a0d429b1f28e203ca" args="(primitive_type ptype)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> cppa::deserializer::read_value </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a>&#160;</td>
<td class="paramname"><em>ptype</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads a primitive value from the data source of type <code>ptype</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">ptype</td><td>Expected primitive data type. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A primitive value of type <code>ptype</code>. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a10">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aac302b6a8c6e3f2c0006750968b7a975"></a><!-- doxytag: member="cppa::deserializer::seek_object" ref="aac302b6a8c6e3f2c0006750968b7a975" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual std::string cppa::deserializer::seek_object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Seeks the beginning of the next object and return its uniform type name. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a4">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/deserializer.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">abstract_actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::detail::abstract_actor&lt; Base &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; Base &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::detail::abstract_actor&lt; Base &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">abstract_actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::detail::abstract_actor&lt; Base &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::detail::abstract_actor" -->
<p><code>#include &lt;abstract_actor.hpp&gt;</code></p>
<p><a href="classcppa_1_1detail_1_1abstract__actor-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class Base&gt;<br/>
class cppa::detail::abstract_actor&lt; Base &gt;</h3>
<p>Implements. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/detail/abstract_actor.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">converted_thread_context</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::detail::converted_thread_context Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">cppa::detail::converted_thread_context</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">attach_functor</a>(F &amp;&amp;ftor)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">by_id</a>(std::uint32_t actor_id)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">enqueue</a>(actor *sender, const any_tuple &amp;msg)</td><td><a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">cppa::local_actor::establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">id</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">join</a>(group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">leave</a>(const group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a12939ac3ae8018bb96a3b85b39f2570d">cppa::local_actor::link_to</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">parent_process</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">parent_process_ptr</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html#ae7b51f9d579b797cca1a99c4cfa7c9be">quit</a>(std::uint32_t reason)</td><td><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">cppa::detail::converted_thread_context</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">cppa::local_actor::remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">cppa::local_actor::unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::detail::converted_thread_context Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">converted_thread_context</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::detail::converted_thread_context Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::detail::converted_thread_context" --><!-- doxytag: inherits="abstract_actor&lt; local_actor &gt;" -->
<p><code>#include &lt;converted_thread_context.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::detail::converted_thread_context:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1detail_1_1converted__thread__context.png" usemap="#cppa::detail::converted_thread_context_map" alt=""/>
<map id="cppa::detail::converted_thread_context_map" name="cppa::detail::converted_thread_context_map">
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; local_actor &gt;" shape="rect" coords="0,224,250,248"/>
<area href="classcppa_1_1local__actor.html" title="Base class for local running Actors." alt="cppa::local_actor" shape="rect" coords="0,168,250,192"/>
<area href="classcppa_1_1actor.html" title="Base class for all actor implementations." alt="cppa::actor" shape="rect" coords="0,112,250,136"/>
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="0,56,250,80"/>
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="0,0,250,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1detail_1_1converted__thread__context-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html#ae7b51f9d579b797cca1a99c4cfa7c9be">quit</a> (std::uint32_t reason)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Represents a thread that was converted to an Actor. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae7b51f9d579b797cca1a99c4cfa7c9be"></a><!-- doxytag: member="cppa::detail::converted_thread_context::quit" ref="ae7b51f9d579b797cca1a99c4cfa7c9be" args="(std::uint32_t reason)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::detail::converted_thread_context::quit </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>reason</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Finishes execution of this actor. </p>
<p>Cause this actor to send an exit signal to all of its linked actors, sets its state to <code>exited</code> and throws <a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> to cleanup the stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">reason</td><td>Exit reason that will be send to linked actors. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcppa_1_1actor__exited.html" title="Thrown if an actor finished execution.">actor_exited</a></td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classcppa_1_1local__actor.html#a70a12ba036a189340c067286a0fddf40">cppa::local_actor</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/detail/converted_thread_context.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">scheduled_actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::detail::scheduled_actor Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">cppa::detail::scheduled_actor</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">attach_functor</a>(F &amp;&amp;ftor)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">by_id</a>(std::uint32_t actor_id)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">enqueue</a>(actor *sender, const any_tuple &amp;msg)</td><td><a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">cppa::local_actor::establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">id</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">join</a>(group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">leave</a>(const group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a12939ac3ae8018bb96a3b85b39f2570d">cppa::local_actor::link_to</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">parent_process</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">parent_process_ptr</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html#a7f4d979e8f28189ce22721522cbcd572">quit</a>(std::uint32_t reason)</td><td><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">cppa::detail::scheduled_actor</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">cppa::local_actor::remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">cppa::local_actor::unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::detail::scheduled_actor Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">scheduled_actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::detail::scheduled_actor Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::detail::scheduled_actor" --><!-- doxytag: inherits="abstract_actor&lt; local_actor &gt;" -->
<p><code>#include &lt;scheduled_actor.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::detail::scheduled_actor:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1detail_1_1scheduled__actor.png" usemap="#cppa::detail::scheduled_actor_map" alt=""/>
<map id="cppa::detail::scheduled_actor_map" name="cppa::detail::scheduled_actor_map">
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; local_actor &gt;" shape="rect" coords="0,224,250,248"/>
<area href="classcppa_1_1local__actor.html" title="Base class for local running Actors." alt="cppa::local_actor" shape="rect" coords="0,168,250,192"/>
<area href="classcppa_1_1actor.html" title="Base class for all actor implementations." alt="cppa::actor" shape="rect" coords="0,112,250,136"/>
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="0,56,250,80"/>
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="0,0,250,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1detail_1_1scheduled__actor-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html#a7f4d979e8f28189ce22721522cbcd572">quit</a> (std::uint32_t reason)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A spawned, scheduled Actor. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a7f4d979e8f28189ce22721522cbcd572"></a><!-- doxytag: member="cppa::detail::scheduled_actor::quit" ref="a7f4d979e8f28189ce22721522cbcd572" args="(std::uint32_t reason)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::detail::scheduled_actor::quit </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>reason</em></td><td>)</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Finishes execution of this actor. </p>
<p>Cause this actor to send an exit signal to all of its linked actors, sets its state to <code>exited</code> and throws <a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> to cleanup the stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">reason</td><td>Exit reason that will be send to linked actors. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcppa_1_1actor__exited.html" title="Thrown if an actor finished execution.">actor_exited</a></td><td></td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classcppa_1_1local__actor.html#a70a12ba036a189340c067286a0fddf40">cppa::local_actor</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/detail/scheduled_actor.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1exception.html">exception</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::exception Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1exception.html">cppa::exception</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#ab52e9a763fa4da8ec05a80b4af2d15ff">exception</a>(std::string &amp;&amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">exception</a>(const std::string &amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">what</a>() const </td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::exception Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1exception.html">exception</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::exception Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::exception" --><!-- doxytag: inherits="std::exception" -->
<p><code>#include &lt;exception.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::exception:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1exception.png" usemap="#cppa::exception_map" alt=""/>
<map id="cppa::exception_map" name="cppa::exception_map">
<area href="classcppa_1_1actor__exited.html" title="Thrown if an actor finished execution." alt="cppa::actor_exited" shape="rect" coords="0,56,126,80"/>
<area href="classcppa_1_1network__error.html" title="Thrown to indicate that either an actor publishing failed or libcppa was unable to connect to a remot..." alt="cppa::network_error" shape="rect" coords="136,56,262,80"/>
<area href="classcppa_1_1bind__failure.html" title="Thrown to indicate that an actor publishing failed because the requested port could not be used..." alt="cppa::bind_failure" shape="rect" coords="136,112,262,136"/>
</map>
</div></div>
<p><a href="classcppa_1_1exception-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">what</a> () const throw ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1exception.html#ab52e9a763fa4da8ec05a80b4af2d15ff">exception</a> (std::string &amp;&amp;what_str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">exception</a> (const std::string &amp;what_str)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Base class for libcppa exceptions. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab52e9a763fa4da8ec05a80b4af2d15ff"></a><!-- doxytag: member="cppa::exception::exception" ref="ab52e9a763fa4da8ec05a80b4af2d15ff" args="(std::string &amp;&amp;what_str)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::exception::exception </td>
<td>(</td>
<td class="paramtype">std::string &amp;&amp;&#160;</td>
<td class="paramname"><em>what_str</em></td><td>)</td>
<td><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an exception with the error string <code>what_str</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what_str</td><td>Error message as rvalue string. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a21b873485daae04c62362d09d97b1ae8"></a><!-- doxytag: member="cppa::exception::exception" ref="a21b873485daae04c62362d09d97b1ae8" args="(const std::string &amp;what_str)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::exception::exception </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>what_str</em></td><td>)</td>
<td><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an exception with the error string <code>what_str</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what_str</td><td>Error message as string. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a061b44f22152e145f7207cfa9cb191bf"></a><!-- doxytag: member="cppa::exception::what" ref="a061b44f22152e145f7207cfa9cb191bf" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* cppa::exception::what </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const throw ()</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the error message. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The error message as C-string. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/exception.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1group.html">group</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::group Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1group.html">cppa::group</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group.html#ad8a69a374587d3d44a7dac627453dfba">add_module</a>(module *)</td><td><a class="el" href="classcppa_1_1group.html">cppa::group</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">enqueue</a>(actor *sender, const any_tuple &amp;msg)=0</td><td><a class="el" href="classcppa_1_1channel.html">cppa::channel</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group.html#a27268c44307a292136b607d7aaf6c5f6">get</a>(const std::string &amp;module_name, const std::string &amp;group_identifier)</td><td><a class="el" href="classcppa_1_1group.html">cppa::group</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group.html#a0ca2805302d4af52ed0d5052bbf3bce9">identifier</a>() const </td><td><a class="el" href="classcppa_1_1group.html">cppa::group</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group.html#a2a366f8a319cb300c6ec1874b2eb296a">module_name</a>() const </td><td><a class="el" href="classcppa_1_1group.html">cppa::group</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group.html#aabeb55e4593f8f25e15863ecde26542b">subscribe</a>(const channel_ptr &amp;who)=0</td><td><a class="el" href="classcppa_1_1group.html">cppa::group</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::group Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1group.html">group</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::group Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::group" --><!-- doxytag: inherits="cppa::channel" -->
<p><code>#include &lt;group.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::group:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1group.png" usemap="#cppa::group_map" alt=""/>
<map id="cppa::group_map" name="cppa::group_map">
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="0,56,114,80"/>
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="0,0,114,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1group-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group_1_1module.html">module</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Module interface. <a href="classcppa_1_1group_1_1module.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group.html#a0ca2805302d4af52ed0d5052bbf3bce9">identifier</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group.html#a2a366f8a319cb300c6ec1874b2eb296a">module_name</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual subscription&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group.html#aabeb55e4593f8f25e15863ecde26542b">subscribe</a> (const <a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a> &amp;who)=0</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1group.html">group</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group.html#a27268c44307a292136b607d7aaf6c5f6">get</a> (const std::string &amp;module_name, const std::string &amp;group_identifier)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group.html#ad8a69a374587d3d44a7dac627453dfba">add_module</a> (<a class="el" href="classcppa_1_1group_1_1module.html">module</a> *)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A multicast group. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad8a69a374587d3d44a7dac627453dfba"></a><!-- doxytag: member="cppa::group::add_module" ref="ad8a69a374587d3d44a7dac627453dfba" args="(module *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static void cppa::group::add_module </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1group_1_1module.html">module</a> *&#160;</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Add a new group module to the libcppa group management. . </p>
</div>
</div>
<a class="anchor" id="a27268c44307a292136b607d7aaf6c5f6"></a><!-- doxytag: member="cppa::group::get" ref="a27268c44307a292136b607d7aaf6c5f6" args="(const std::string &amp;module_name, const std::string &amp;group_identifier)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1group.html">group</a>&gt; cppa::group::get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>module_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>group_identifier</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get a pointer to the group associated with <code>group_identifier</code> from the module <code>module_name</code>. . </p>
</div>
</div>
<a class="anchor" id="a0ca2805302d4af52ed0d5052bbf3bce9"></a><!-- doxytag: member="cppa::group::identifier" ref="a0ca2805302d4af52ed0d5052bbf3bce9" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; cppa::group::identifier </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A string representation of the group identifier. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The group identifier as string (e.g. "224.0.0.1" for IPv4 multicast or a user-defined string for local groups). </dd></dl>
</div>
</div>
<a class="anchor" id="a2a366f8a319cb300c6ec1874b2eb296a"></a><!-- doxytag: member="cppa::group::module_name" ref="a2a366f8a319cb300c6ec1874b2eb296a" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; cppa::group::module_name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The name of the module. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The module name of this group (e.g. "local"). </dd></dl>
</div>
</div>
<a class="anchor" id="aabeb55e4593f8f25e15863ecde26542b"></a><!-- doxytag: member="cppa::group::subscribe" ref="aabeb55e4593f8f25e15863ecde26542b" args="(const channel_ptr &amp;who)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual subscription cppa::group::subscribe </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a> &amp;&#160;</td>
<td class="paramname"><em>who</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Subscribe <code>who</code> to this group. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="">subscription</a> object that unsubscribes <code>who</code> if the lifetime of <code>who</code> ends. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/group.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1group.html">group</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1group_1_1module.html">module</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::group::module Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1group_1_1module.html">cppa::group::module</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group_1_1module.html#ae4a49d9033ff40da17d4e738b9f5733b">get</a>(const std::string &amp;group_name)=0</td><td><a class="el" href="classcppa_1_1group_1_1module.html">cppa::group::module</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1group_1_1module.html#a36e321d9fffe09e7f68de19b2941ce8a">name</a>()</td><td><a class="el" href="classcppa_1_1group_1_1module.html">cppa::group::module</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::group::module Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1group.html">group</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1group_1_1module.html">module</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::group::module Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::group::module" -->
<p><code>#include &lt;group.hpp&gt;</code></p>
<p><a href="classcppa_1_1group_1_1module-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group_1_1module.html#a36e321d9fffe09e7f68de19b2941ce8a">name</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1group.html">group</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group_1_1module.html#ae4a49d9033ff40da17d4e738b9f5733b">get</a> (const std::string &amp;group_name)=0</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Module interface. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae4a49d9033ff40da17d4e738b9f5733b"></a><!-- doxytag: member="cppa::group::module::get" ref="ae4a49d9033ff40da17d4e738b9f5733b" args="(const std::string &amp;group_name)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1group.html">group</a>&gt; cppa::group::module::get </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>group_name</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get a pointer to the group associated with the name <code>group_name</code>. . </p>
</div>
</div>
<a class="anchor" id="a36e321d9fffe09e7f68de19b2941ce8a"></a><!-- doxytag: member="cppa::group::module::name" ref="a36e321d9fffe09e7f68de19b2941ce8a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; cppa::group::module::name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the name of this module implementation. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of this module implementation. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/group.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::intrusive_ptr&lt; T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1intrusive__ptr.html">cppa::intrusive_ptr&lt; T &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::intrusive_ptr&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::intrusive_ptr&lt; T &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::intrusive_ptr" --><!-- doxytag: inherits="comparable&lt; intrusive_ptr&lt; T &gt;, const T * &gt;,comparable&lt; intrusive_ptr&lt; T &gt; &gt;" -->
<p><code>#include &lt;intrusive_ptr.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::intrusive_ptr&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1intrusive__ptr.png" usemap="#cppa::intrusive_ptr&lt; T &gt;_map" alt=""/>
<map id="cppa::intrusive_ptr&lt; T &gt;_map" name="cppa::intrusive_ptr&lt; T &gt;_map">
<area href="classcppa_1_1util_1_1comparable.html" alt="cppa::util::comparable&lt; intrusive_ptr&lt; T &gt;, const T * &gt;" shape="rect" coords="0,0,322,24"/>
<area href="classcppa_1_1util_1_1comparable.html" alt="cppa::util::comparable&lt; intrusive_ptr&lt; T &gt; &gt;" shape="rect" coords="332,0,654,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1intrusive__ptr-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class cppa::intrusive_ptr&lt; T &gt;</h3>
<p>An intrusive, reference counting smart pointer impelementation. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/intrusive_ptr.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::invoke_rules Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1invoke__rules.html">cppa::invoke_rules</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1invoke__rules__base.html#a037945a1497fcc567bb3266626a7e457">get_intermediate</a>(const any_tuple &amp;data) const </td><td><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1invoke__rules__base.html#a1fe9fd86545518e48dad939f63be5cb7">operator()</a>(const any_tuple &amp;data) const </td><td><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::invoke_rules Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::invoke_rules Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::invoke_rules" --><!-- doxytag: inherits="cppa::invoke_rules_base" -->
<p><code>#include &lt;invoke_rules.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::invoke_rules:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1invoke__rules.png" usemap="#cppa::invoke_rules_map" alt=""/>
<map id="cppa::invoke_rules_map" name="cppa::invoke_rules_map">
<area href="classcppa_1_1invoke__rules__base.html" title="Base of timed_invoke_rules and invoke_rules." alt="cppa::invoke_rules_base" shape="rect" coords="0,0,152,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1invoke__rules-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Invoke rules without timeout. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/invoke_rules.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1invoke__rules__base.html">invoke_rules_base</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::invoke_rules_base Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1invoke__rules__base.html#a037945a1497fcc567bb3266626a7e457">get_intermediate</a>(const any_tuple &amp;data) const </td><td><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1invoke__rules__base.html#a1fe9fd86545518e48dad939f63be5cb7">operator()</a>(const any_tuple &amp;data) const </td><td><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::invoke_rules_base Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1invoke__rules__base.html">invoke_rules_base</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::invoke_rules_base Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::invoke_rules_base" -->
<p><code>#include &lt;invoke_rules.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::invoke_rules_base:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1invoke__rules__base.png" usemap="#cppa::invoke_rules_base_map" alt=""/>
<map id="cppa::invoke_rules_base_map" name="cppa::invoke_rules_base_map">
<area href="classcppa_1_1invoke__rules.html" title="Invoke rules without timeout." alt="cppa::invoke_rules" shape="rect" coords="0,56,154,80"/>
<area href="classcppa_1_1timed__invoke__rules.html" title="Invoke rules with timeout." alt="cppa::timed_invoke_rules" shape="rect" coords="164,56,318,80"/>
</map>
</div></div>
<p><a href="classcppa_1_1invoke__rules__base-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1invoke__rules__base.html#a1fe9fd86545518e48dad939f63be5cb7">operator()</a> (const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;data) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">detail::intermediate *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1invoke__rules__base.html#a037945a1497fcc567bb3266626a7e457">get_intermediate</a> (const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;data) const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Base of <a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> and <a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a>. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a037945a1497fcc567bb3266626a7e457"></a><!-- doxytag: member="cppa::invoke_rules_base::get_intermediate" ref="a037945a1497fcc567bb3266626a7e457" args="(const any_tuple &amp;data) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::intermediate* cppa::invoke_rules_base::get_intermediate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to match <code>data</code> with one of the stored patterns. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Data tuple that should be matched. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An <a class="el" href="">intermediate</a> instance that could invoke the corresponding callback; otherwise <code>nullptr</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a1fe9fd86545518e48dad939f63be5cb7"></a><!-- doxytag: member="cppa::invoke_rules_base::operator()" ref="a1fe9fd86545518e48dad939f63be5cb7" args="(const any_tuple &amp;data) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::invoke_rules_base::operator() </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"><em>data</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to match <code>data</code> with one of the stored patterns. </p>
<p>If a pattern matched <code>data</code>, the corresponding callback is invoked. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Data tuple that should be matched. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if a pattern matched <code>data</code>; otherwise <code>false</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/invoke_rules.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1local__actor.html">local_actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::local_actor Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1f4813520d9e42e81418ef5688fa01ce">attach</a>(attachable *ptr)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">attach_functor</a>(F &amp;&amp;ftor)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">by_id</a>(std::uint32_t actor_id)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af984afca4a4d83d233d2c88ecab3c25b">detach</a>(const attachable::token &amp;what)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">enqueue</a>(actor *sender, const any_tuple &amp;msg)</td><td><a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a81f264bf10218ec66a04ed2bad609930">establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">establish_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">id</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">join</a>(group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">leave</a>(const group_ptr &amp;what)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a168ff508e1ace0970c80333a57cfcfcf">link_to</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a12939ac3ae8018bb96a3b85b39f2570d">link_to</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">parent_process</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">parent_process_ptr</a>() const </td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1local__actor.html#a70a12ba036a189340c067286a0fddf40">quit</a>(std::uint32_t reason)=0</td><td><a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a14e2aa6ed4ab11662c3b831c022798cc">remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">remove_backlink</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;to)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a9bc15c2a879dad10ba8a2ae8e885e72d">unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;other)=0</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">unlink_from</a>(intrusive_ptr&lt; actor &gt; &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1actor.html">cppa::actor</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::local_actor Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1local__actor.html">local_actor</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::local_actor Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::local_actor" --><!-- doxytag: inherits="cppa::actor" -->
<p><code>#include &lt;local_actor.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::local_actor:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1local__actor.png" usemap="#cppa::local_actor_map" alt=""/>
<map id="cppa::local_actor_map" name="cppa::local_actor_map">
<area href="classcppa_1_1actor.html" title="Base class for all actor implementations." alt="cppa::actor" shape="rect" coords="130,112,380,136"/>
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="130,56,380,80"/>
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="130,0,380,24"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; local_actor &gt;" shape="rect" coords="130,224,380,248"/>
<area href="classcppa_1_1detail_1_1converted__thread__context.html" title="Represents a thread that was converted to an Actor." alt="cppa::detail::converted_thread_context" shape="rect" coords="0,280,250,304"/>
<area href="classcppa_1_1detail_1_1scheduled__actor.html" title="A spawned, scheduled Actor." alt="cppa::detail::scheduled_actor" shape="rect" coords="260,280,510,304"/>
</map>
</div></div>
<p><a href="classcppa_1_1local__actor-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1local__actor.html#a70a12ba036a189340c067286a0fddf40">quit</a> (std::uint32_t reason)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">enqueue</a> (<a class="el" href="classcppa_1_1actor.html">actor</a> *sender, const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;msg)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Base class for local running Actors. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a490b3ff68ece7f031cd261441827badb"></a><!-- doxytag: member="cppa::local_actor::enqueue" ref="a490b3ff68ece7f031cd261441827badb" args="(actor *sender, const any_tuple &amp;msg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::local_actor::enqueue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1actor.html">actor</a> *&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"><em>msg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Default implementation of <a class="el" href="">channel::enqueue(const message&amp;)</a>. </p>
<p>Calls <code>mailbox().enqueue(msg)</code>. </p>
<p>Implements <a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">cppa::channel</a>.</p>
</div>
</div>
<a class="anchor" id="a70a12ba036a189340c067286a0fddf40"></a><!-- doxytag: member="cppa::local_actor::quit" ref="a70a12ba036a189340c067286a0fddf40" args="(std::uint32_t reason)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::local_actor::quit </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>reason</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Finishes execution of this actor. </p>
<p>Cause this actor to send an exit signal to all of its linked actors, sets its state to <code>exited</code> and throws <a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> to cleanup the stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">reason</td><td>Exit reason that will be send to linked actors. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcppa_1_1actor__exited.html" title="Thrown if an actor finished execution.">actor_exited</a></td><td></td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html#a7f4d979e8f28189ce22721522cbcd572">cppa::detail::scheduled_actor</a>, and <a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html#ae7b51f9d579b797cca1a99c4cfa7c9be">cppa::detail::converted_thread_context</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/local_actor.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1message__queue.html">message_queue</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::message_queue Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a33e6d84ac5e11aee3a15172439f05d47">dequeue</a>()=0</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a8370c68e341077b737a5e5ba565302bb">dequeue</a>(invoke_rules &amp;rules)=0</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a44bbaabd07c323309d4bcbc4614c2f44">dequeue</a>(timed_invoke_rules &amp;rules)=0</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a81afac0e59699978bba1d148e67700fb">enqueue</a>(actor *sender, const any_tuple &amp;msg)=0</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#ab55eab407796dd27df7c3d6072a6d3da">last_dequeued</a>()</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#aaf3d5f7a5bcac11152eec81468639603">last_sender</a>()</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a9228dcc378a19f0b065ee226facb5af9">message_queue</a>()</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#af37d858fca5d341c9072a896d2982d70">trap_exit</a>() const </td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#abcd0ef8337efcb38e1e43ecc98255624">trap_exit</a>(bool value)</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a3ce49411ca8acae531c1bb3fc21c5ec3">try_dequeue</a>(any_tuple &amp;)=0</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1message__queue.html#a8da961a2821af1fa8a99a0bf881ff4c8">try_dequeue</a>(invoke_rules &amp;)=0</td><td><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::message_queue Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1message__queue.html">message_queue</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::message_queue Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::message_queue" --><!-- doxytag: inherits="cppa::ref_counted" -->
<p><code>#include &lt;message_queue.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::message_queue:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1message__queue.png" usemap="#cppa::message_queue_map" alt=""/>
<map id="cppa::message_queue_map" name="cppa::message_queue_map">
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="0,0,136,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1message__queue-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a9228dcc378a19f0b065ee226facb5af9">message_queue</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a81afac0e59699978bba1d148e67700fb">enqueue</a> (<a class="el" href="classcppa_1_1actor.html">actor</a> *sender, const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;msg)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a33e6d84ac5e11aee3a15172439f05d47">dequeue</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a8370c68e341077b737a5e5ba565302bb">dequeue</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;rules)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a44bbaabd07c323309d4bcbc4614c2f44">dequeue</a> (<a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> &amp;rules)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a3ce49411ca8acae531c1bb3fc21c5ec3">try_dequeue</a> (<a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#a8da961a2821af1fa8a99a0bf881ff4c8">try_dequeue</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#af37d858fca5d341c9072a896d2982d70">trap_exit</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#abcd0ef8337efcb38e1e43ecc98255624">trap_exit</a> (bool value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#ab55eab407796dd27df7c3d6072a6d3da">last_dequeued</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html#aaf3d5f7a5bcac11152eec81468639603">last_sender</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A message queue with many-writers-single-reader semantics. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9228dcc378a19f0b065ee226facb5af9"></a><!-- doxytag: member="cppa::message_queue::message_queue" ref="a9228dcc378a19f0b065ee226facb5af9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::message_queue::message_queue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an instance with <code><a class="el" href="classcppa_1_1message__queue.html#af37d858fca5d341c9072a896d2982d70">trap_exit()</a> == false</code>. </p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a33e6d84ac5e11aee3a15172439f05d47"></a><!-- doxytag: member="cppa::message_queue::dequeue" ref="a33e6d84ac5e11aee3a15172439f05d47" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a>&amp; cppa::message_queue::dequeue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Dequeues the oldest message (FIFO order) from the message queue. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The oldest message from the queue. </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="a8370c68e341077b737a5e5ba565302bb"></a><!-- doxytag: member="cppa::message_queue::dequeue" ref="a8370c68e341077b737a5e5ba565302bb" args="(invoke_rules &amp;rules)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::message_queue::dequeue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes the first element from the queue that is matched by <code>rules</code> and invokes the corresponding callback. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rules</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="a44bbaabd07c323309d4bcbc4614c2f44"></a><!-- doxytag: member="cppa::message_queue::dequeue" ref="a44bbaabd07c323309d4bcbc4614c2f44" args="(timed_invoke_rules &amp;rules)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::message_queue::dequeue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> &amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rules</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="a81afac0e59699978bba1d148e67700fb"></a><!-- doxytag: member="cppa::message_queue::enqueue" ref="a81afac0e59699978bba1d148e67700fb" args="(actor *sender, const any_tuple &amp;msg)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::message_queue::enqueue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1actor.html">actor</a> *&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"><em>msg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enqueues a new element to the message queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>The new message. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab55eab407796dd27df7c3d6072a6d3da"></a><!-- doxytag: member="cppa::message_queue::last_dequeued" ref="ab55eab407796dd27df7c3d6072a6d3da" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp; cppa::message_queue::last_dequeued </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the last dequeued message. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The last message object that was removed from the queue by a <a class="el" href="classcppa_1_1message__queue.html#a33e6d84ac5e11aee3a15172439f05d47" title="Dequeues the oldest message (FIFO order) from the message queue.">dequeue()</a> or <a class="el" href="classcppa_1_1message__queue.html#a3ce49411ca8acae531c1bb3fc21c5ec3">try_dequeue()</a> member function call. </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="aaf3d5f7a5bcac11152eec81468639603"></a><!-- doxytag: member="cppa::message_queue::last_sender" ref="aaf3d5f7a5bcac11152eec81468639603" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp; cppa::message_queue::last_sender </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the sender of the last dequeued message. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> to the sender of the last dequeued message. </dd></dl>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="af37d858fca5d341c9072a896d2982d70"></a><!-- doxytag: member="cppa::message_queue::trap_exit" ref="af37d858fca5d341c9072a896d2982d70" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::message_queue::trap_exit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="abcd0ef8337efcb38e1e43ecc98255624"></a><!-- doxytag: member="cppa::message_queue::trap_exit" ref="abcd0ef8337efcb38e1e43ecc98255624" args="(bool value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::message_queue::trap_exit </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="a3ce49411ca8acae531c1bb3fc21c5ec3"></a><!-- doxytag: member="cppa::message_queue::try_dequeue" ref="a3ce49411ca8acae531c1bb3fc21c5ec3" args="(any_tuple &amp;)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::message_queue::try_dequeue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<a class="anchor" id="a8da961a2821af1fa8a99a0bf881ff4c8"></a><!-- doxytag: member="cppa::message_queue::try_dequeue" ref="a8da961a2821af1fa8a99a0bf881ff4c8" args="(invoke_rules &amp;)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::message_queue::try_dequeue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>Call only from the owner of the queue. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/message_queue.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1network__error.html">network_error</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::network_error Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1network__error.html">cppa::network_error</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#ab52e9a763fa4da8ec05a80b4af2d15ff">exception</a>(std::string &amp;&amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">exception</a>(const std::string &amp;what_str)</td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">what</a>() const </td><td><a class="el" href="classcppa_1_1exception.html">cppa::exception</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::network_error Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1network__error.html">network_error</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::network_error Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::network_error" --><!-- doxytag: inherits="cppa::exception" -->
<p><code>#include &lt;exception.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::network_error:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1network__error.png" usemap="#cppa::network_error_map" alt=""/>
<map id="cppa::network_error_map" name="cppa::network_error_map">
<area href="classcppa_1_1exception.html" title="Base class for libcppa exceptions." alt="cppa::exception" shape="rect" coords="0,0,126,24"/>
<area href="classcppa_1_1bind__failure.html" title="Thrown to indicate that an actor publishing failed because the requested port could not be used..." alt="cppa::bind_failure" shape="rect" coords="0,112,126,136"/>
</map>
</div></div>
<p><a href="classcppa_1_1network__error-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Thrown to indicate that either an actor publishing failed or <code>libcppa</code> was unable to connect to a remote host. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/exception.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1object.html">object</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::object Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1object.html">cppa::object</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a889c5886345264a36ce62e9c4d860936">from</a>(T &amp;&amp;what)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#afb1053cae79aab6428773539f9599b04">get</a>(const object &amp;obj)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a451a16ec38159b90acb1c3e2bf47d7ee">get_ref</a>(object &amp;obj)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#af38be5d0d948be00eac3b22b88ac835a">mutable_value</a>()</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#ac391fb9cb23624cc6083790da5cbfd60">object</a>(void *val, const uniform_type_info *utinfo)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#ad0a5b780ddb049c9b7f988608e2688ac">object</a>()</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a3aab26a3d1ecd227f831fdfc01bfea68">object</a>(object &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#ab45757dddf6a0c923193794e789308e2">object</a>(const object &amp;other)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a937f356538af522ad9aba06b4fcf544f">operator=</a>(object &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a9ea08173bb3430caeea9b43b4037a2c0">operator=</a>(const object &amp;other)</td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a13c253bcb371b8b414dc776bf945b6b6">type</a>() const </td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1object.html#a34d8b87d10785da1ab3729f00b8b6924">value</a>() const </td><td><a class="el" href="classcppa_1_1object.html">cppa::object</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::object Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1object.html">object</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#related">Related Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::object Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::object" -->
<p><code>#include &lt;object.hpp&gt;</code></p>
<p>Inherited by cppa::detail::obj_impl&lt; T &gt;.</p>
<p><a href="classcppa_1_1object-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#ac391fb9cb23624cc6083790da5cbfd60">object</a> (void *val, const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> *utinfo)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#ad0a5b780ddb049c9b7f988608e2688ac">object</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a3aab26a3d1ecd227f831fdfc01bfea68">object</a> (<a class="el" href="classcppa_1_1object.html">object</a> &amp;&amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#ab45757dddf6a0c923193794e789308e2">object</a> (const <a class="el" href="classcppa_1_1object.html">object</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1object.html">object</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a937f356538af522ad9aba06b4fcf544f">operator=</a> (<a class="el" href="classcppa_1_1object.html">object</a> &amp;&amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1object.html">object</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a9ea08173bb3430caeea9b43b4037a2c0">operator=</a> (const <a class="el" href="classcppa_1_1object.html">object</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a13c253bcb371b8b414dc776bf945b6b6">type</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a34d8b87d10785da1ab3729f00b8b6924">value</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#af38be5d0d948be00eac3b22b88ac835a">mutable_value</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classcppa_1_1object.html">object</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a889c5886345264a36ce62e9c4d860936">from</a> (T &amp;&amp;what)</td></tr>
<tr><td colspan="2"><h2><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#a451a16ec38159b90acb1c3e2bf47d7ee">get_ref</a> (<a class="el" href="classcppa_1_1object.html">object</a> &amp;obj)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html#afb1053cae79aab6428773539f9599b04">get</a> (const <a class="el" href="classcppa_1_1object.html">object</a> &amp;obj)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>An abstraction class that stores an instance of an announced type. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac391fb9cb23624cc6083790da5cbfd60"></a><!-- doxytag: member="cppa::object::object" ref="ac391fb9cb23624cc6083790da5cbfd60" args="(void *val, const uniform_type_info *utinfo)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::object::object </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>val</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> *&#160;</td>
<td class="paramname"><em>utinfo</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an object of type <code>utinfo</code> with value <code>val</code>. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd><a class="el" href="classcppa_1_1object.html">object</a> takes ownership of <code>val</code>. </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><div class="fragment"><pre class="fragment"> val != <span class="keyword">nullptr</span> &amp;&amp; utinfo != <span class="keyword">nullptr</span>
</pre></div> </dd></dl>
</div>
</div>
<a class="anchor" id="ad0a5b780ddb049c9b7f988608e2688ac"></a><!-- doxytag: member="cppa::object::object" ref="ad0a5b780ddb049c9b7f988608e2688ac" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::object::object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an empty object. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>{<a class="el" href="classcppa_1_1object.html#a13c253bcb371b8b414dc776bf945b6b6" title="Gets the RTTI of this object.">type()</a> == *uniform_typeid&lt;util::void_type&gt;()} </dd></dl>
</div>
</div>
<a class="anchor" id="a3aab26a3d1ecd227f831fdfc01bfea68"></a><!-- doxytag: member="cppa::object::object" ref="a3aab26a3d1ecd227f831fdfc01bfea68" args="(object &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::object::object </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1object.html">object</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an object and moves type and value from <code>other</code> to <code>this</code>. </p>
</div>
</div>
<a class="anchor" id="ab45757dddf6a0c923193794e789308e2"></a><!-- doxytag: member="cppa::object::object" ref="ab45757dddf6a0c923193794e789308e2" args="(const object &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::object::object </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1object.html">object</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a (deep) copy of <code>other</code>. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>{*this == other} </dd></dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a889c5886345264a36ce62e9c4d860936"></a><!-- doxytag: member="cppa::object::from" ref="a889c5886345264a36ce62e9c4d860936" args="(T &amp;&amp;what)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1object.html">object</a> cppa::object::from </td>
<td>(</td>
<td class="paramtype">T &amp;&amp;&#160;</td>
<td class="paramname"><em>what</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an object from <code>what</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what</td><td>Value of an announced type. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An object whose value was initialized with <code>what</code>. </dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><div class="fragment"><pre class="fragment"> <a class="code" href="classcppa_1_1object.html#a13c253bcb371b8b414dc776bf945b6b6" title="Gets the RTTI of this object.">type</a>() == *uniform_typeid&lt;T&gt;()
</pre></div> </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>if <code>T</code> is not announced. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="af38be5d0d948be00eac3b22b88ac835a"></a><!-- doxytag: member="cppa::object::mutable_value" ref="af38be5d0d948be00eac3b22b88ac835a" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* cppa::object::mutable_value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the stored value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable pointer to the currently stored value. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classcppa_1_1object.html#a451a16ec38159b90acb1c3e2bf47d7ee" title="Grants mutable access to the stored value of obj.">get_ref(object&amp;)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a937f356538af522ad9aba06b4fcf544f"></a><!-- doxytag: member="cppa::object::operator=" ref="a937f356538af522ad9aba06b4fcf544f" args="(object &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1object.html">object</a>&amp; cppa::object::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1object.html">object</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Moves the content from <code>other</code> to this. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>*this</code> </dd></dl>
</div>
</div>
<a class="anchor" id="a9ea08173bb3430caeea9b43b4037a2c0"></a><!-- doxytag: member="cppa::object::operator=" ref="a9ea08173bb3430caeea9b43b4037a2c0" args="(const object &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1object.html">object</a>&amp; cppa::object::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1object.html">object</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a (deep) copy of <code>other</code> and assigns it to <code>this</code>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>*this</code> </dd></dl>
</div>
</div>
<a class="anchor" id="a13c253bcb371b8b414dc776bf945b6b6"></a><!-- doxytag: member="cppa::object::type" ref="a13c253bcb371b8b414dc776bf945b6b6" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>&amp; cppa::object::type </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the RTTI of this object. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> describing the current type of <code>this</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a34d8b87d10785da1ab3729f00b8b6924"></a><!-- doxytag: member="cppa::object::value" ref="a34d8b87d10785da1ab3729f00b8b6924" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const void* cppa::object::value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the stored value. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const pointer to the currently stored value. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classcppa_1_1object.html#afb1053cae79aab6428773539f9599b04" title="Grants const access to the stored value of obj.">get(const object&amp;)</a> </dd></dl>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="afb1053cae79aab6428773539f9599b04"></a><!-- doxytag: member="cppa::object::get" ref="afb1053cae79aab6428773539f9599b04" args="(const object &amp;obj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">const T &amp; get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1object.html">object</a> &amp;&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Grants const access to the stored value of <code>obj</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td><a class="el" href="classcppa_1_1object.html">Object</a> with <code>obj.type() == typeid(T)</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the value stored in <code>obj</code>.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">std::invalid_argument</td><td>if <code>obj.type() != typeid(T)</code> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a451a16ec38159b90acb1c3e2bf47d7ee"></a><!-- doxytag: member="cppa::object::get_ref" ref="a451a16ec38159b90acb1c3e2bf47d7ee" args="(object &amp;obj)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">T &amp; get_ref </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1object.html">object</a> &amp;&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Grants mutable access to the stored value of <code>obj</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td><a class="el" href="classcppa_1_1object.html">Object</a> with <code>obj.type() == typeid(T)</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A mutable reference to the value stored in <code>obj</code>.</dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">std::invalid_argument</td><td>if <code>obj.type() != typeid(T)</code> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/object.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::primitive_variant Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="group___type_system.html#ga22a8f475d1b708c6d70598370ba92d8f">get</a>(const primitive_variant &amp;pv)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="group___type_system.html#ga933cd1117131023bed7812fa237a42fd">get_ref</a>(primitive_variant &amp;pv)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="group___type_system.html#ga744d167a0282d4cb873c665bc2326b4c">get_ref</a>(const primitive_variant &amp;pv)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#ga933cd1117131023bed7812fa237a42fd">get_ref</a>(primitive_variant &amp;pv)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#a4b2b5933c61eaf43aef2a9586257e8ec">operator=</a>(V &amp;&amp;value)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#a5b9a44c30d9dc82187dbab23f7038345">operator=</a>(const primitive_variant &amp;other)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#a5734e61596e6e77b867f1fe26d172ae1">operator=</a>(primitive_variant &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> enum name</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#af787dfb9b7b98d13e1f4ede54c3a53dd">primitive_variant</a>()</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#a1fd51cf7159334a40379842316ebd1fd">primitive_variant</a>(V &amp;&amp;value)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#a8c781811c133807ff5159c7fccdb23aa">primitive_variant</a>(primitive_type pt)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#aea89938452c28d0f2f595054786ad9b5">primitive_variant</a>(const primitive_variant &amp;other)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#a69425eedb04e41860425352df7072525">primitive_variant</a>(primitive_variant &amp;&amp;other)</td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1">ptype</a>() const </td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1primitive__variant.html#adb321d9572e97691f7970c85269abd2a">type</a>() const </td><td><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::primitive_variant Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#related">Related Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::primitive_variant Class Reference<div class="ingroups"><a class="el" href="group___type_system.html">libcppa's platform-independent type system.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::primitive_variant" -->
<p><code>#include &lt;primitive_variant.hpp&gt;</code></p>
<p><a href="classcppa_1_1primitive__variant-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#af787dfb9b7b98d13e1f4ede54c3a53dd">primitive_variant</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#a1fd51cf7159334a40379842316ebd1fd">primitive_variant</a> (V &amp;&amp;value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#a8c781811c133807ff5159c7fccdb23aa">primitive_variant</a> (<a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> pt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#aea89938452c28d0f2f595054786ad9b5">primitive_variant</a> (const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#a69425eedb04e41860425352df7072525">primitive_variant</a> (<a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&amp;other)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename V &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#a4b2b5933c61eaf43aef2a9586257e8ec">operator=</a> (V &amp;&amp;value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#a5b9a44c30d9dc82187dbab23f7038345">operator=</a> (const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#a5734e61596e6e77b867f1fe26d172ae1">operator=</a> (<a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1">ptype</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::type_info &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#adb321d9572e97691f7970c85269abd2a">type</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> { <br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081">pt_int8</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542">pt_int16</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a">pt_int32</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7">pt_int64</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e">pt_uint8</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786">pt_uint16</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a">pt_uint32</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59">pt_uint64</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61">pt_float</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc">pt_double</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d">pt_long_double</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e">pt_u8string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e">pt_u16string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce">pt_u32string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b">pt_null</a>
<br/>
}</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga22a8f475d1b708c6d70598370ba92d8f">get</a> (const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;pv)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga933cd1117131023bed7812fa237a42fd">get_ref</a> (<a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;pv)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;primitive_type PT&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga744d167a0282d4cb873c665bc2326b4c">get_ref</a> (const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;pv)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;primitive_type PT&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html#ga933cd1117131023bed7812fa237a42fd">get_ref</a> (<a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;pv)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>An union container for primitive data types. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af787dfb9b7b98d13e1f4ede54c3a53dd"></a><!-- doxytag: member="cppa::primitive_variant::primitive_variant" ref="af787dfb9b7b98d13e1f4ede54c3a53dd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::primitive_variant::primitive_variant </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an empty variant. </p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><code><a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1" title="Gets the type of this.">ptype()</a> == pt_null &amp;&amp; <a class="el" href="classcppa_1_1primitive__variant.html#adb321d9572e97691f7970c85269abd2a" title="Gets the RTTI type of this.">type()</a> == typeid(void)</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a1fd51cf7159334a40379842316ebd1fd"></a><!-- doxytag: member="cppa::primitive_variant::primitive_variant" ref="a1fd51cf7159334a40379842316ebd1fd" args="(V &amp;&amp;value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename V &gt; </div>
<table class="memname">
<tr>
<td class="memname">cppa::primitive_variant::primitive_variant </td>
<td>(</td>
<td class="paramtype">V &amp;&amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a variant from <code>value</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>A primitive value. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>value</code> does have a primitive type. </dd></dl>
</div>
</div>
<a class="anchor" id="a8c781811c133807ff5159c7fccdb23aa"></a><!-- doxytag: member="cppa::primitive_variant::primitive_variant" ref="a8c781811c133807ff5159c7fccdb23aa" args="(primitive_type pt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::primitive_variant::primitive_variant </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a>&#160;</td>
<td class="paramname"><em>pt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a variant with type pt. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pt</td><td>Requestet type. </td></tr>
</table>
</dd>
</dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><code><a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1" title="Gets the type of this.">ptype()</a> == pt</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="aea89938452c28d0f2f595054786ad9b5"></a><!-- doxytag: member="cppa::primitive_variant::primitive_variant" ref="aea89938452c28d0f2f595054786ad9b5" args="(const primitive_variant &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::primitive_variant::primitive_variant </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a copy from <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>A primitive variant. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a69425eedb04e41860425352df7072525"></a><!-- doxytag: member="cppa::primitive_variant::primitive_variant" ref="a69425eedb04e41860425352df7072525" args="(primitive_variant &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">cppa::primitive_variant::primitive_variant </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a new variant and move the value from <code>other</code> to it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>A primitive variant rvalue. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4b2b5933c61eaf43aef2a9586257e8ec"></a><!-- doxytag: member="cppa::primitive_variant::operator=" ref="a4b2b5933c61eaf43aef2a9586257e8ec" args="(V &amp;&amp;value)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename V &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a>&amp; cppa::primitive_variant::operator= </td>
<td>(</td>
<td class="paramtype">V &amp;&amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Moves <code>value</code> to this variant if <code>value</code> is an rvalue; otherwise copies the value of <code>value</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>A primitive value. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>*this</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a5b9a44c30d9dc82187dbab23f7038345"></a><!-- doxytag: member="cppa::primitive_variant::operator=" ref="a5b9a44c30d9dc82187dbab23f7038345" args="(const primitive_variant &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a>&amp; cppa::primitive_variant::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Copies the content of <code>other</code> to <code>this</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>A primitive variant. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>*this</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a5734e61596e6e77b867f1fe26d172ae1"></a><!-- doxytag: member="cppa::primitive_variant::operator=" ref="a5734e61596e6e77b867f1fe26d172ae1" args="(primitive_variant &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a>&amp; cppa::primitive_variant::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Moves the content of <code>other</code> to <code>this</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>A primitive variant rvalue. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>*this</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ac5636545a0b5fc6116cb5a9e88d59ac1"></a><!-- doxytag: member="cppa::primitive_variant::ptype" ref="ac5636545a0b5fc6116cb5a9e88d59ac1" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> cppa::primitive_variant::ptype </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">type</a> of <code>this</code>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">type</a> of <code>this</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="adb321d9572e97691f7970c85269abd2a"></a><!-- doxytag: member="cppa::primitive_variant::type" ref="adb321d9572e97691f7970c85269abd2a" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::type_info&amp; cppa::primitive_variant::type </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the RTTI type of <code>this</code>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>typeid(void)</code> if <code><a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1" title="Gets the type of this.">ptype()</a> == pt_null</code>; otherwise typeid(T) is returned, where T is the C++ type of <code>this</code>. </dd></dl>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="ga933cd1117131023bed7812fa237a42fd"></a><!-- doxytag: member="cppa::primitive_variant::get_ref" ref="ga933cd1117131023bed7812fa237a42fd" args="(primitive_variant &amp;pv)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;primitive_type PT&gt; </div>
<table class="memname">
<tr>
<td class="memname">T &amp; get_ref </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>pv</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Casts a non-const primitive variant to its C++ type. </p>
<dl><dt><b>Template Parameters:</b></dt><dd>
<table class="">
<tr><td class="paramname">T</td><td>C++ type equivalent of <code>PT</code>. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pv</td><td>A primitive variant of type <code>T</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to the value of <code>pv</code> of type <code>T</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>cppa/primitive_variant.hpp</li>
<li>cppa/primitive_type.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1process__information.html">process_information</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::process_information Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1process__information.html#afc652568bb751841b0ce90cea74d8e2d">get</a>()</td><td><a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1process__information.html#a86925b3d47c880b2149216225f072432">node_id</a>() const </td><td><a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1process__information.html#ada8c18fd370432ef5ed4fee969cf9f7c">process_id</a>() const </td><td><a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::process_information Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1process__information.html">process_information</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::process_information Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::process_information" --><!-- doxytag: inherits="cppa::ref_counted,comparable&lt; process_information &gt;" -->
<p><code>#include &lt;process_information.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::process_information:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1process__information.png" usemap="#cppa::process_information_map" alt=""/>
<map id="cppa::process_information_map" name="cppa::process_information_map">
<area href="classcppa_1_1ref__counted.html" title="A (thread safe) base class for reference counted objects with an atomic reference count..." alt="cppa::ref_counted" shape="rect" coords="0,0,272,24"/>
<area href="classcppa_1_1util_1_1comparable.html" alt="cppa::util::comparable&lt; process_information &gt;" shape="rect" coords="282,0,554,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1process__information-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1process__information.html#ada8c18fd370432ef5ed4fee969cf9f7c">process_id</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const node_id_type &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1process__information.html#a86925b3d47c880b2149216225f072432">node_id</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="classcppa_1_1process__information.html">process_information</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1process__information.html#afc652568bb751841b0ce90cea74d8e2d">get</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Identifies a process. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afc652568bb751841b0ce90cea74d8e2d"></a><!-- doxytag: member="cppa::process_information::get" ref="afc652568bb751841b0ce90cea74d8e2d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1process__information.html">process_information</a>&gt;&amp; cppa::process_information::get </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the proccess_information for the running process. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
</div>
</div>
<a class="anchor" id="a86925b3d47c880b2149216225f072432"></a><!-- doxytag: member="cppa::process_information::node_id" ref="a86925b3d47c880b2149216225f072432" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const node_id_type&amp; cppa::process_information::node_id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Identifies the host system. </p>
<p>A hash build from the MAC address of the first network device and the serial number from the root HD (mounted in "/" or "C:"). </p>
</div>
</div>
<a class="anchor" id="ada8c18fd370432ef5ed4fee969cf9f7c"></a><!-- doxytag: member="cppa::process_information::process_id" ref="ada8c18fd370432ef5ed4fee969cf9f7c" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t cppa::process_information::process_id </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Identifies the running process. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/process_information.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1ref__counted.html">ref_counted</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::ref_counted Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a>()</td><td><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::ref_counted Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1ref__counted.html">ref_counted</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::ref_counted Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::ref_counted" -->
<p><code>#include &lt;ref_counted.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::ref_counted:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1ref__counted.png" usemap="#cppa::ref_counted_map" alt=""/>
<map id="cppa::ref_counted_map" name="cppa::ref_counted_map">
<area href="classcppa_1_1channel.html" title="Interface for all message receivers." alt="cppa::channel" shape="rect" coords="260,56,510,80"/>
<area href="classcppa_1_1message__queue.html" title="A message queue with many-writers-single-reader semantics." alt="cppa::message_queue" shape="rect" coords="520,56,770,80"/>
<area href="classcppa_1_1process__information.html" title="Identifies a process." alt="cppa::process_information" shape="rect" coords="780,56,1030,80"/>
<area href="classcppa_1_1actor.html" title="Base class for all actor implementations." alt="cppa::actor" shape="rect" coords="130,112,380,136"/>
<area href="classcppa_1_1group.html" title="A multicast group." alt="cppa::group" shape="rect" coords="390,112,640,136"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; actor &gt;" shape="rect" coords="0,168,250,192"/>
<area href="classcppa_1_1local__actor.html" title="Base class for local running Actors." alt="cppa::local_actor" shape="rect" coords="260,168,510,192"/>
<area href="classcppa_1_1actor__proxy.html" title="Represents a remote Actor." alt="cppa::actor_proxy" shape="rect" coords="0,224,250,248"/>
<area href="classcppa_1_1detail_1_1abstract__actor.html" alt="cppa::detail::abstract_actor&lt; local_actor &gt;" shape="rect" coords="260,224,510,248"/>
<area href="classcppa_1_1detail_1_1converted__thread__context.html" title="Represents a thread that was converted to an Actor." alt="cppa::detail::converted_thread_context" shape="rect" coords="130,280,380,304"/>
<area href="classcppa_1_1detail_1_1scheduled__actor.html" title="A spawned, scheduled Actor." alt="cppa::detail::scheduled_actor" shape="rect" coords="390,280,640,304"/>
</map>
</div></div>
<p><a href="classcppa_1_1ref__counted-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">ref</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">deref</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">unique</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A (thread safe) base class for reference counted objects with an atomic reference count. </p>
<p>Serves the requirements of <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a20355d1afa8b9b23956180bdec7c4ec7"></a><!-- doxytag: member="cppa::ref_counted::deref" ref="a20355d1afa8b9b23956180bdec7c4ec7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::ref_counted::deref </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Decreases reference cound by one. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if there are still references to this object (reference count &gt; 0); otherwise <code>false</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="adde91679876095e34d1ca4502e8c2ee9"></a><!-- doxytag: member="cppa::ref_counted::ref" ref="adde91679876095e34d1ca4502e8c2ee9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::ref_counted::ref </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Increases reference count by one. </p>
</div>
</div>
<a class="anchor" id="aa890095d175fd2ced20b7debbb569c5f"></a><!-- doxytag: member="cppa::ref_counted::unique" ref="aa890095d175fd2ced20b7debbb569c5f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::ref_counted::unique </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Queries if there is exactly one reference. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if reference count is one; otherwise <code>false</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/ref_counted.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1serializer.html">serializer</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::serializer Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1serializer.html#ad87c5557dc2582f1df7e6c8770c49286">begin_object</a>(const std::string &amp;type_name)=0</td><td><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1serializer.html#a5ff6beb06c8bb85de11fdfb33f0ea0aa">begin_sequence</a>(size_t num)=0</td><td><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1serializer.html#ab7d4c4dba33a86d3a86dd63d1d386ba0">end_object</a>()=0</td><td><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1serializer.html#a8c4e725095d8d51826f1ebc95e8b738a">end_sequence</a>()=0</td><td><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1serializer.html#a7b7be85fb3dce3b83c5a3c5dac457f95">write_tuple</a>(size_t num, const primitive_variant *values)=0</td><td><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1serializer.html#a2eb2aa15e5e772f570f56e9ae7c5eeae">write_value</a>(const primitive_variant &amp;value)=0</td><td><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td><td><code> [pure virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::serializer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1serializer.html">serializer</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::serializer Class Reference<div class="ingroups"><a class="el" href="group___type_system.html">libcppa's platform-independent type system.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::serializer" -->
<p><code>#include &lt;serializer.hpp&gt;</code></p>
<p>Inherited by cppa::binary_serializer.</p>
<p><a href="classcppa_1_1serializer-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html#ad87c5557dc2582f1df7e6c8770c49286">begin_object</a> (const std::string &amp;type_name)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html#ab7d4c4dba33a86d3a86dd63d1d386ba0">end_object</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html#a5ff6beb06c8bb85de11fdfb33f0ea0aa">begin_sequence</a> (size_t num)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html#a8c4e725095d8d51826f1ebc95e8b738a">end_sequence</a> ()=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html#a2eb2aa15e5e772f570f56e9ae7c5eeae">write_value</a> (const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;value)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html#a7b7be85fb3dce3b83c5a3c5dac457f95">write_tuple</a> (size_t num, const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> *values)=0</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Technology-independent serialization interface. </p>
<dl><dt><b>Examples: </b></dt><dd>
<p><a class="el" href="announce_example_5_8cpp-example.html#_a0">announce_example_5.cpp</a>.</p>
</dd>
</dl></div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad87c5557dc2582f1df7e6c8770c49286"></a><!-- doxytag: member="cppa::serializer::begin_object" ref="ad87c5557dc2582f1df7e6c8770c49286" args="(const std::string &amp;type_name)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::serializer::begin_object </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>type_name</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Begins serialization of an object of the type named <code>type_name</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">type_name</td><td>The platform-independent <code>libcppa</code> type name. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a1">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5ff6beb06c8bb85de11fdfb33f0ea0aa"></a><!-- doxytag: member="cppa::serializer::begin_sequence" ref="a5ff6beb06c8bb85de11fdfb33f0ea0aa" args="(size_t num)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::serializer::begin_sequence </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>num</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Begins serialization of a sequence of size <code>num</code>. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a8">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab7d4c4dba33a86d3a86dd63d1d386ba0"></a><!-- doxytag: member="cppa::serializer::end_object" ref="ab7d4c4dba33a86d3a86dd63d1d386ba0" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::serializer::end_object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Ends serialization of an object. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a2">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8c4e725095d8d51826f1ebc95e8b738a"></a><!-- doxytag: member="cppa::serializer::end_sequence" ref="a8c4e725095d8d51826f1ebc95e8b738a" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::serializer::end_sequence </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Ends serialization of a sequence. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a9">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a7b7be85fb3dce3b83c5a3c5dac457f95"></a><!-- doxytag: member="cppa::serializer::write_tuple" ref="a7b7be85fb3dce3b83c5a3c5dac457f95" args="(size_t num, const primitive_variant *values)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::serializer::write_tuple </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> *&#160;</td>
<td class="paramname"><em>values</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Writes <code>num</code> values as a tuple to the data sink. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">num</td><td>Size of the array <code>values</code>. </td></tr>
<tr><td class="paramname">values</td><td>An array of size <code>num</code> of primitive data values. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a2eb2aa15e5e772f570f56e9ae7c5eeae"></a><!-- doxytag: member="cppa::serializer::write_value" ref="a2eb2aa15e5e772f570f56e9ae7c5eeae" args="(const primitive_variant &amp;value)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::serializer::write_value </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td><code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Writes a single value to the data sink. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>A primitive data value. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a7">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/serializer.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::timed_invoke_rules Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1timed__invoke__rules.html">cppa::timed_invoke_rules</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1invoke__rules__base.html#a037945a1497fcc567bb3266626a7e457">get_intermediate</a>(const any_tuple &amp;data) const </td><td><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1invoke__rules__base.html#a1fe9fd86545518e48dad939f63be5cb7">operator()</a>(const any_tuple &amp;data) const </td><td><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::timed_invoke_rules Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::timed_invoke_rules Class Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::timed_invoke_rules" --><!-- doxytag: inherits="cppa::invoke_rules_base" -->
<p><code>#include &lt;invoke_rules.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::timed_invoke_rules:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1timed__invoke__rules.png" usemap="#cppa::timed_invoke_rules_map" alt=""/>
<map id="cppa::timed_invoke_rules_map" name="cppa::timed_invoke_rules_map">
<area href="classcppa_1_1invoke__rules__base.html" title="Base of timed_invoke_rules and invoke_rules." alt="cppa::invoke_rules_base" shape="rect" coords="0,0,154,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1timed__invoke__rules-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Invoke rules with timeout. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/invoke_rules.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1tuple.html">tuple</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::tuple&lt; ElementTypes &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#ae02692adef659975450ba8b35996d83d">at</a>(size_t p) const </td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="group___copy_on_write.html#ga0f1c5e333bf343f5fc4d264fd8b8a175">get</a>(const tuple&lt;...&gt; &amp;tup)</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="group___copy_on_write.html#gab4c409d619905c1c1c080060a330aa4b">get_ref</a>(tuple&lt;...&gt; &amp;tup)</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935">make_tuple</a>(const Types &amp;...args)</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#a67731c18c8cee3d4a6ae6ddb503a7503">operator!=</a>(const tuple&lt; LhsTypes...&gt; &amp;lhs, const tuple&lt; RhsTypes...&gt; &amp;rhs)</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#a1aa3307b3618ce2f4fe88e4022de18b4">operator==</a>(const tuple&lt; LhsTypes...&gt; &amp;lhs, const tuple&lt; RhsTypes...&gt; &amp;rhs)</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td><code> [related]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#a6722ca3a3e9abb457fe100a1c97e514e">size</a>() const </td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#af83d6895558aa16edff360cd2fccd60a">tuple</a>()</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#a202c587b55714c921f0c361d9e4fd655">tuple</a>(const ElementTypes &amp;...args)</td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#a3e25e225ee7e79d40603960ef9629097">utype_at</a>(size_t p) const </td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1tuple.html#aace812c866c4dca8c55f42f842313fd8">vals</a>() const </td><td><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::tuple&lt; ElementTypes &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1tuple.html">tuple</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#related">Related Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::tuple&lt; ElementTypes &gt; Class Template Reference<div class="ingroups"><a class="el" href="group___copy_on_write.html">Copy-on-write optimization.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::tuple" -->
<p><code>#include &lt;tuple.hpp&gt;</code></p>
<p><a href="classcppa_1_1tuple-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#af83d6895558aa16edff360cd2fccd60a">tuple</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#a202c587b55714c921f0c361d9e4fd655">tuple</a> (const ElementTypes &amp;...args)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#a6722ca3a3e9abb457fe100a1c97e514e">size</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#ae02692adef659975450ba8b35996d83d">at</a> (size_t p) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#a3e25e225ee7e79d40603960ef9629097">utype_at</a> (size_t p) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1cow__ptr.html">cow_ptr</a>&lt; InternalData &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#aace812c866c4dca8c55f42f842313fd8">vals</a> () const </td></tr>
<tr><td colspan="2"><h2><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;size_t N, typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___copy_on_write.html#ga0f1c5e333bf343f5fc4d264fd8b8a175">get</a> (const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt;...&gt; &amp;tup)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;size_t N, typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___copy_on_write.html#gab4c409d619905c1c1c080060a330aa4b">get_ref</a> (<a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt;...&gt; &amp;tup)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename... Types&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; Types...&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935">make_tuple</a> (const Types &amp;...args)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename... LhsTypes, typename... RhsTypes&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#a1aa3307b3618ce2f4fe88e4022de18b4">operator==</a> (const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; LhsTypes...&gt; &amp;lhs, const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; RhsTypes...&gt; &amp;rhs)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename... LhsTypes, typename... RhsTypes&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html#a67731c18c8cee3d4a6ae6ddb503a7503">operator!=</a> (const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; LhsTypes...&gt; &amp;lhs, const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; RhsTypes...&gt; &amp;rhs)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename... ElementTypes&gt;<br/>
class cppa::tuple&lt; ElementTypes &gt;</h3>
<p>A fixed-length copy-on-write tuple. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af83d6895558aa16edff360cd2fccd60a"></a><!-- doxytag: member="cppa::tuple::tuple" ref="af83d6895558aa16edff360cd2fccd60a" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... ElementTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1tuple.html">cppa::tuple</a>&lt; ElementTypes &gt;::<a class="el" href="classcppa_1_1tuple.html">tuple</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes each element with its default constructor. </p>
</div>
</div>
<a class="anchor" id="a202c587b55714c921f0c361d9e4fd655"></a><!-- doxytag: member="cppa::tuple::tuple" ref="a202c587b55714c921f0c361d9e4fd655" args="(const ElementTypes &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... ElementTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1tuple.html">cppa::tuple</a>&lt; ElementTypes &gt;::<a class="el" href="classcppa_1_1tuple.html">tuple</a> </td>
<td>(</td>
<td class="paramtype">const ElementTypes &amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes the tuple with <code>args</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Initialization values. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae02692adef659975450ba8b35996d83d"></a><!-- doxytag: member="cppa::tuple::at" ref="ae02692adef659975450ba8b35996d83d" args="(size_t p) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... ElementTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname">const void* <a class="el" href="classcppa_1_1tuple.html">cppa::tuple</a>&lt; ElementTypes &gt;::at </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets a pointer to the internal data. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const void pointer to the <code>N</code>th element. </dd></dl>
</div>
</div>
<a class="anchor" id="a6722ca3a3e9abb457fe100a1c97e514e"></a><!-- doxytag: member="cppa::tuple::size" ref="a6722ca3a3e9abb457fe100a1c97e514e" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... ElementTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="classcppa_1_1tuple.html">cppa::tuple</a>&lt; ElementTypes &gt;::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the size of this tuple. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>sizeof...(ElementTypes)</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a3e25e225ee7e79d40603960ef9629097"></a><!-- doxytag: member="cppa::tuple::utype_at" ref="a3e25e225ee7e79d40603960ef9629097" args="(size_t p) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... ElementTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>* <a class="el" href="classcppa_1_1tuple.html">cppa::tuple</a>&lt; ElementTypes &gt;::utype_at </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets <a class="el" href="classcppa_1_1uniform__type__info.html">uniform type information</a> of an element. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The uniform type of the <code>N</code>th element. </dd></dl>
</div>
</div>
<a class="anchor" id="aace812c866c4dca8c55f42f842313fd8"></a><!-- doxytag: member="cppa::tuple::vals" ref="aace812c866c4dca8c55f42f842313fd8" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... ElementTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1cow__ptr.html">cow_ptr</a>&lt;InternalData&gt; <a class="el" href="classcppa_1_1tuple.html">cppa::tuple</a>&lt; ElementTypes &gt;::vals </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the internal data. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the internal data representation. </dd></dl>
</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a67731c18c8cee3d4a6ae6ddb503a7503"></a><!-- doxytag: member="cppa::tuple::operator!=" ref="a67731c18c8cee3d4a6ae6ddb503a7503" args="(const tuple&lt; LhsTypes...&gt; &amp;lhs, const tuple&lt; RhsTypes...&gt; &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... LhsTypes, typename... RhsTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; LhsTypes...&gt; &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; RhsTypes...&gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compares two tuples. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>First tuple object. </td></tr>
<tr><td class="paramname">rhs</td><td>Second tuple object. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>lhs</code> and <code>rhs</code> are not equal; otherwise <code>false</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a1aa3307b3618ce2f4fe88e4022de18b4"></a><!-- doxytag: member="cppa::tuple::operator==" ref="a1aa3307b3618ce2f4fe88e4022de18b4" args="(const tuple&lt; LhsTypes...&gt; &amp;lhs, const tuple&lt; RhsTypes...&gt; &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... LhsTypes, typename... RhsTypes&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; LhsTypes...&gt; &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt; RhsTypes...&gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compares two tuples. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>First tuple object. </td></tr>
<tr><td class="paramname">rhs</td><td>Second tuple object. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>lhs</code> and <code>rhs</code> are equal; otherwise <code>false</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/tuple.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1tuple__view.html">tuple_view</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::tuple_view&lt; ElementTypes &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1tuple__view.html">cppa::tuple_view&lt; ElementTypes &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::tuple_view&lt; ElementTypes &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1tuple__view.html">tuple_view</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::tuple_view&lt; ElementTypes &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::tuple_view" -->
<p><code>#include &lt;tuple_view.hpp&gt;</code></p>
<p><a href="classcppa_1_1tuple__view-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename... ElementTypes&gt;<br/>
class cppa::tuple_view&lt; ElementTypes &gt;</h3>
<p>Describes a view of an fixed-length tuple. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/tuple_view.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::uniform_type_info Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#ac3176c11824f46ace8c2899aa5993d2c">create</a>() const </td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a3193d402e2550fc09dee4b4ffee2d33d">delete_instance</a>(void *instance) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [protected, pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a1841b5f6ef66723792e2639b306569bb">deserialize</a>(deserializer *source) const </td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a2d890210f405164b1c2252c9178c166d">deserialize</a>(void *instance, deserializer *source) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a7e7c2394a3b550f8fe9da6669b28c143">equals</a>(const std::type_info &amp;tinfo) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a22c706b2fa11dfcdc44f7268c6c9bd1f">equals</a>(const void *instance1, const void *instance2) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a3a6cf266a7178b1530ad8190464a2a5b">from</a>(const std::string &amp;uniform_name)</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a5180077e36e8cbd495b546278641cfbc">from</a>(const std::type_info &amp;tinfo)</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#ae47bcaf90389e70da7869e96c28ea330">instances</a>()</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a2691e562da3909c199070181d01ec068">name</a>() const </td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#aa5799554ba3bafbb46d07f0744c8b1bd">new_instance</a>(const void *instance=nullptr) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [protected, pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e">serialize</a>(const void *instance, serializer *sink) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [pure virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::uniform_type_info Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::uniform_type_info Class Reference<div class="ingroups"><a class="el" href="group___type_system.html">libcppa's platform-independent type system.</a></div></div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::uniform_type_info" -->
<p><code>#include &lt;uniform_type_info.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::uniform_type_info:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1uniform__type__info.png" usemap="#cppa::uniform_type_info_map" alt=""/>
<map id="cppa::uniform_type_info_map" name="cppa::uniform_type_info_map">
<area href="classcppa_1_1util_1_1abstract__uniform__type__info.html" alt="cppa::util::abstract_uniform_type_info&lt; List &gt;" shape="rect" coords="0,56,350,80"/>
<area href="classcppa_1_1util_1_1abstract__uniform__type__info.html" alt="cppa::util::abstract_uniform_type_info&lt; Map &gt;" shape="rect" coords="360,56,710,80"/>
<area href="classcppa_1_1util_1_1abstract__uniform__type__info.html" alt="cppa::util::abstract_uniform_type_info&lt; std::pair&lt; T1, T2 &gt; &gt;" shape="rect" coords="720,56,1070,80"/>
<area href="classcppa_1_1util_1_1abstract__uniform__type__info.html" title="Implements all pure virtual functions of uniform_type_info except serialize() and deserialize()..." alt="cppa::util::abstract_uniform_type_info&lt; T &gt;" shape="rect" coords="1080,56,1430,80"/>
</map>
</div></div>
<p><a href="classcppa_1_1uniform__type__info-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a2691e562da3909c199070181d01ec068">name</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1object.html">object</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#ac3176c11824f46ace8c2899aa5993d2c">create</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1object.html">object</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a1841b5f6ef66723792e2639b306569bb">deserialize</a> (<a class="el" href="classcppa_1_1deserializer.html">deserializer</a> *source) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a7e7c2394a3b550f8fe9da6669b28c143">equals</a> (const std::type_info &amp;tinfo) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a22c706b2fa11dfcdc44f7268c6c9bd1f">equals</a> (const void *instance1, const void *instance2) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e">serialize</a> (const void *instance, <a class="el" href="classcppa_1_1serializer.html">serializer</a> *sink) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a2d890210f405164b1c2252c9178c166d">deserialize</a> (void *instance, <a class="el" href="classcppa_1_1deserializer.html">deserializer</a> *source) const =0</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a3a6cf266a7178b1530ad8190464a2a5b">from</a> (const std::string &amp;uniform_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a5180077e36e8cbd495b546278641cfbc">from</a> (const std::type_info &amp;tinfo)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static std::vector<br class="typebreak"/>
&lt; <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#ae47bcaf90389e70da7869e96c28ea330">instances</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#a3193d402e2550fc09dee4b4ffee2d33d">delete_instance</a> (void *instance) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html#aa5799554ba3bafbb46d07f0744c8b1bd">new_instance</a> (const void *instance=nullptr) const =0</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Provides a platform independent type name and a (very primitive) kind of reflection in combination with <a class="el" href="classcppa_1_1object.html">object</a>. </p>
<p>The platform independent name is equal to the "in-sourcecode-name" with a few exceptions:</p>
<ul>
<li><code>std::string</code> is named <code>@str</code> </li>
<li><code>std::u16string</code> is named <code>@u16str</code> </li>
<li><code>std::u32string</code> is named <code>@u32str</code> </li>
<li><code>integers</code> are named <code>@(i|u)$size</code><br/>
e.g.: <code>@i32</code> is a 32 bit signed integer; <code>@u16</code> is a 16 bit unsigned integer</li>
<li>the <em>anonymous namespace</em> is named <code>@_</code> <br/>
e.g.: <code>namespace { class foo { }; }</code> is mapped to <code>@_::foo</code> </li>
</ul>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac3176c11824f46ace8c2899aa5993d2c"></a><!-- doxytag: member="cppa::uniform_type_info::create" ref="ac3176c11824f46ace8c2899aa5993d2c" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1object.html">object</a> cppa::uniform_type_info::create </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an object of this type. </p>
</div>
</div>
<a class="anchor" id="a3193d402e2550fc09dee4b4ffee2d33d"></a><!-- doxytag: member="cppa::uniform_type_info::delete_instance" ref="a3193d402e2550fc09dee4b4ffee2d33d" args="(void *instance) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::uniform_type_info::delete_instance </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>instance</em></td><td>)</td>
<td> const<code> [protected, pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Casts <code>instance</code> to the native type and deletes it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td>Instance of this type. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance</code> has the type of <code>this</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; Map &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; first_type, second_type &gt; &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; T1, T2 &gt; &gt;</a>, and <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; List &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a1841b5f6ef66723792e2639b306569bb"></a><!-- doxytag: member="cppa::uniform_type_info::deserialize" ref="a1841b5f6ef66723792e2639b306569bb" args="(deserializer *source) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1object.html">object</a> cppa::uniform_type_info::deserialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1deserializer.html">deserializer</a> *&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Deserializes an object of this type from <code>source</code>. </p>
</div>
</div>
<a class="anchor" id="a2d890210f405164b1c2252c9178c166d"></a><!-- doxytag: member="cppa::uniform_type_info::deserialize" ref="a2d890210f405164b1c2252c9178c166d" args="(void *instance, deserializer *source) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::uniform_type_info::deserialize </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>instance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classcppa_1_1deserializer.html">deserializer</a> *&#160;</td>
<td class="paramname"><em>source</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Deserializes <code>instance</code> from <code>source</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td>Instance of this type. </td></tr>
<tr><td class="paramname">sink</td><td>Data source. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance</code> has the type of <code>this</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a7e7c2394a3b550f8fe9da6669b28c143"></a><!-- doxytag: member="cppa::uniform_type_info::equals" ref="a7e7c2394a3b550f8fe9da6669b28c143" args="(const std::type_info &amp;tinfo) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::uniform_type_info::equals </td>
<td>(</td>
<td class="paramtype">const std::type_info &amp;&#160;</td>
<td class="paramname"><em>tinfo</em></td><td>)</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Determines if this <a class="el" href="classcppa_1_1uniform__type__info.html" title="Provides a platform independent type name and a (very primitive) kind of reflection in combination wi...">uniform_type_info</a> describes the same type than <code>tinfo</code>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>tinfo</code> describes the same type as <code>this</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">cppa::util::abstract_uniform_type_info&lt; Map &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; first_type, second_type &gt; &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; T1, T2 &gt; &gt;</a>, and <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">cppa::util::abstract_uniform_type_info&lt; List &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a22c706b2fa11dfcdc44f7268c6c9bd1f"></a><!-- doxytag: member="cppa::uniform_type_info::equals" ref="a22c706b2fa11dfcdc44f7268c6c9bd1f" args="(const void *instance1, const void *instance2) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual bool cppa::uniform_type_info::equals </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compares two instances of this type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance1</td><td>Left hand operand. </td></tr>
<tr><td class="paramname">instance2</td><td>Right hand operand. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*instance1 == *instance2</code>. </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance1</code> and <code>instance2</code> have the type of <code>this</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; Map &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; first_type, second_type &gt; &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; T1, T2 &gt; &gt;</a>, and <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; List &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a3a6cf266a7178b1530ad8190464a2a5b"></a><!-- doxytag: member="cppa::uniform_type_info::from" ref="a3a6cf266a7178b1530ad8190464a2a5b" args="(const std::string &amp;uniform_name)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>* cppa::uniform_type_info::from </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>uniform_name</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get instance by uniform name. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">uniform_name</td><td>The <code>libcppa</code> internal name for a type. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The instance associated to <code>uniform_name</code>. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>if no type named <code>uniform_name</code> was found. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5180077e36e8cbd495b546278641cfbc"></a><!-- doxytag: member="cppa::uniform_type_info::from" ref="a5180077e36e8cbd495b546278641cfbc" args="(const std::type_info &amp;tinfo)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>* cppa::uniform_type_info::from </td>
<td>(</td>
<td class="paramtype">const std::type_info &amp;&#160;</td>
<td class="paramname"><em>tinfo</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get instance by std::type_info. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">tinfo</td><td>A STL RTTI object. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An instance describing the same type as <code>tinfo</code>. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>if <code>tinfo</code> is not an announced type. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ae47bcaf90389e70da7869e96c28ea330"></a><!-- doxytag: member="cppa::uniform_type_info::instances" ref="ae47bcaf90389e70da7869e96c28ea330" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static std::vector&lt;<a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>*&gt; cppa::uniform_type_info::instances </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get all instances. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A vector with all known (announced) instances. </dd></dl>
</div>
</div>
<a class="anchor" id="a2691e562da3909c199070181d01ec068"></a><!-- doxytag: member="cppa::uniform_type_info::name" ref="a2691e562da3909c199070181d01ec068" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; cppa::uniform_type_info::name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get the internal <code>libcppa</code> name for this type. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string describing the <code>libcppa</code> internal type name. </dd></dl>
</div>
</div>
<a class="anchor" id="aa5799554ba3bafbb46d07f0744c8b1bd"></a><!-- doxytag: member="cppa::uniform_type_info::new_instance" ref="aa5799554ba3bafbb46d07f0744c8b1bd" args="(const void *instance=nullptr) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void* cppa::uniform_type_info::new_instance </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance</em> = <code>nullptr</code></td><td>)</td>
<td> const<code> [protected, pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an instance of this type, either as a copy of <code>instance</code> or initialized with the default constructor if <code>instance == nullptr</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td>Optional instance of this type. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Either a copy of <code>instance</code> or a new instance, initialized with the default constructor. </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance</code> has the type of <code>this</code> or is set to <code>nullptr</code>. </dd></dl>
<p>Implemented in <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; Map &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; first_type, second_type &gt; &gt;</a>, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; T1, T2 &gt; &gt;</a>, and <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; List &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a49feca24516d39c1ecaae1801403941e"></a><!-- doxytag: member="cppa::uniform_type_info::serialize" ref="a49feca24516d39c1ecaae1801403941e" args="(const void *instance, serializer *sink) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void cppa::uniform_type_info::serialize </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classcppa_1_1serializer.html">serializer</a> *&#160;</td>
<td class="paramname"><em>sink</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Serializes <code>instance</code> to <code>sink</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td>Instance of this type. </td></tr>
<tr><td class="paramname">sink</td><td>Target data sink. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance</code> has the type of <code>this</code>. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/uniform_type_info.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">abstract_uniform_type_info</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::abstract_uniform_type_info&lt; T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#ac3176c11824f46ace8c2899aa5993d2c">create</a>() const </td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">delete_instance</a>(void *instance) const </td><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a1841b5f6ef66723792e2639b306569bb">deserialize</a>(deserializer *source) const </td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a2d890210f405164b1c2252c9178c166d">deserialize</a>(void *instance, deserializer *source) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">equals</a>(const void *lhs, const void *rhs) const </td><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">equals</a>(const std::type_info &amp;tinfo) const </td><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a3a6cf266a7178b1530ad8190464a2a5b">from</a>(const std::string &amp;uniform_name)</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a5180077e36e8cbd495b546278641cfbc">from</a>(const std::type_info &amp;tinfo)</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#ae47bcaf90389e70da7869e96c28ea330">instances</a>()</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a2691e562da3909c199070181d01ec068">name</a>() const </td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">new_instance</a>(const void *ptr) const </td><td><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a></td><td><code> [protected, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e">serialize</a>(const void *instance, serializer *sink) const =0</td><td><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td><td><code> [pure virtual]</code></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::abstract_uniform_type_info&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">abstract_uniform_type_info</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::util::abstract_uniform_type_info&lt; T &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::abstract_uniform_type_info" --><!-- doxytag: inherits="cppa::uniform_type_info" -->
<p><code>#include &lt;abstract_uniform_type_info.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cppa::util::abstract_uniform_type_info&lt; T &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classcppa_1_1util_1_1abstract__uniform__type__info.png" usemap="#cppa::util::abstract_uniform_type_info&lt; T &gt;_map" alt=""/>
<map id="cppa::util::abstract_uniform_type_info&lt; T &gt;_map" name="cppa::util::abstract_uniform_type_info&lt; T &gt;_map">
<area href="classcppa_1_1uniform__type__info.html" title="Provides a platform independent type name and a (very primitive) kind of reflection in combination wi..." alt="cppa::uniform_type_info" shape="rect" coords="0,0,252,24"/>
</map>
</div></div>
<p><a href="classcppa_1_1util_1_1abstract__uniform__type__info-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#acc2c784be803c92efde7f67efe72e16d">equals</a> (const std::type_info &amp;tinfo) const </td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">equals</a> (const void *lhs, const void *rhs) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">new_instance</a> (const void *ptr) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">delete_instance</a> (void *instance) const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class cppa::util::abstract_uniform_type_info&lt; T &gt;</h3>
<p>Implements all pure virtual functions of <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> except <a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e" title="Serializes instance to sink.">serialize()</a> and <a class="el" href="classcppa_1_1uniform__type__info.html#a1841b5f6ef66723792e2639b306569bb" title="Deserializes an object of this type from source.">deserialize()</a>. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a76708273fee5e6de788f385beb10d91d"></a><!-- doxytag: member="cppa::util::abstract_uniform_type_info::delete_instance" ref="a76708273fee5e6de788f385beb10d91d" args="(void *instance) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info</a>&lt; T &gt;::delete_instance </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>instance</em></td><td>)</td>
<td> const<code> [protected, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Casts <code>instance</code> to the native type and deletes it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td>Instance of this type. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance</code> has the type of <code>this</code>. </dd></dl>
<p>Implements <a class="el" href="classcppa_1_1uniform__type__info.html#a3193d402e2550fc09dee4b4ffee2d33d">cppa::uniform_type_info</a>.</p>
</div>
</div>
<a class="anchor" id="a213f3feef660b22383f5dad52311aa52"></a><!-- doxytag: member="cppa::util::abstract_uniform_type_info::equals" ref="a213f3feef660b22383f5dad52311aa52" args="(const void *lhs, const void *rhs) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info</a>&lt; T &gt;::equals </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const<code> [protected, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compares two instances of this type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance1</td><td>Left hand operand. </td></tr>
<tr><td class="paramname">instance2</td><td>Right hand operand. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>*instance1 == *instance2</code>. </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance1</code> and <code>instance2</code> have the type of <code>this</code>. </dd></dl>
<p>Implements <a class="el" href="classcppa_1_1uniform__type__info.html#a22c706b2fa11dfcdc44f7268c6c9bd1f">cppa::uniform_type_info</a>.</p>
</div>
</div>
<a class="anchor" id="acc2c784be803c92efde7f67efe72e16d"></a><!-- doxytag: member="cppa::util::abstract_uniform_type_info::equals" ref="acc2c784be803c92efde7f67efe72e16d" args="(const std::type_info &amp;tinfo) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info</a>&lt; T &gt;::equals </td>
<td>(</td>
<td class="paramtype">const std::type_info &amp;&#160;</td>
<td class="paramname"><em>tinfo</em></td><td>)</td>
<td> const<code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Determines if this <a class="el" href="classcppa_1_1uniform__type__info.html" title="Provides a platform independent type name and a (very primitive) kind of reflection in combination wi...">uniform_type_info</a> describes the same type than <code>tinfo</code>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>tinfo</code> describes the same type as <code>this</code>. </dd></dl>
<p>Implements <a class="el" href="classcppa_1_1uniform__type__info.html#a7e7c2394a3b550f8fe9da6669b28c143">cppa::uniform_type_info</a>.</p>
</div>
</div>
<a class="anchor" id="a2c654c8636e3effdd835659e2f1f4237"></a><!-- doxytag: member="cppa::util::abstract_uniform_type_info::new_instance" ref="a2c654c8636e3effdd835659e2f1f4237" args="(const void *ptr) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info</a>&lt; T &gt;::new_instance </td>
<td>(</td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>instance</em></td><td>)</td>
<td> const<code> [protected, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates an instance of this type, either as a copy of <code>instance</code> or initialized with the default constructor if <code>instance == nullptr</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">instance</td><td>Optional instance of this type. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Either a copy of <code>instance</code> or a new instance, initialized with the default constructor. </dd></dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>instance</code> has the type of <code>this</code> or is set to <code>nullptr</code>. </dd></dl>
<p>Implements <a class="el" href="classcppa_1_1uniform__type__info.html#aa5799554ba3bafbb46d07f0744c8b1bd">cppa::uniform_type_info</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/util/abstract_uniform_type_info.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1comparable.html">comparable</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::comparable&lt; Subclass, T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1util_1_1comparable.html">cppa::util::comparable&lt; Subclass, T &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::comparable&lt; Subclass, T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1comparable.html">comparable</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::comparable&lt; Subclass, T &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::comparable" -->
<p><code>#include &lt;comparable.hpp&gt;</code></p>
<p><a href="classcppa_1_1util_1_1comparable-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Subclass, typename T = Subclass&gt;<br/>
class cppa::util::comparable&lt; Subclass, T &gt;</h3>
<p>Barton–Nackman trick implementation. </p>
<p><code>Subclass</code> must provide a <code>compare</code> member function that compares to instances of <code>T</code> and returns an integer <code>x</code> with:</p>
<ul>
<li><code>x &lt; 0</code> if <code>this &lt; other</code></li>
<li><code>x &gt; 0</code> if <code>this &gt; other</code></li>
<li><code>x == 0</code> if <code>this == other</code> </li>
</ul>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/util/comparable.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">single_reader_queue</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::single_reader_queue&lt; T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a49ab3201ddeba540d5b423a6cc3ac021">empty</a>()</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a4dcb8d5ea7f58b2d8b43dd59251c171a">pop</a>()</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#ae01948ecbff436e323da362b64f396c0">push_back</a>(element_type *new_element)</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a5c9518e1302e164804a66148f897f782">push_front</a>(element_type *element)</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#abc957eee6ceaf59bfc0fbd1eb71d2cb3">push_front</a>(element_type *first, element_type *last)</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a9a434b678dd6f33f8c10b064d2ea7995">push_front</a>(List &amp;&amp;list)</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a57f26cda89d9337032362bc78cf58d93">try_pop</a>()</td><td><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></td><td></td></tr>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::single_reader_queue&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">single_reader_queue</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::util::single_reader_queue&lt; T &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::single_reader_queue" -->
<p><code>#include &lt;single_reader_queue.hpp&gt;</code></p>
<p><a href="classcppa_1_1util_1_1single__reader__queue-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">element_type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a4dcb8d5ea7f58b2d8b43dd59251c171a">pop</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">element_type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a57f26cda89d9337032362bc78cf58d93">try_pop</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a5c9518e1302e164804a66148f897f782">push_front</a> (element_type *element)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#abc957eee6ceaf59bfc0fbd1eb71d2cb3">push_front</a> (element_type *first, element_type *last)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename List &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a9a434b678dd6f33f8c10b064d2ea7995">push_front</a> (List &amp;&amp;list)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#ae01948ecbff436e323da362b64f396c0">push_back</a> (element_type *new_element)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a49ab3201ddeba540d5b423a6cc3ac021">empty</a> ()</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
class cppa::util::single_reader_queue&lt; T &gt;</h3>
<p>An intrusive, thread safe queue implementation. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a49ab3201ddeba540d5b423a6cc3ac021"></a><!-- doxytag: member="cppa::util::single_reader_queue::empty" ref="a49ab3201ddeba540d5b423a6cc3ac021" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::empty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>call only from the reader (owner) </dd></dl>
</div>
</div>
<a class="anchor" id="a4dcb8d5ea7f58b2d8b43dd59251c171a"></a><!-- doxytag: member="cppa::util::single_reader_queue::pop" ref="a4dcb8d5ea7f58b2d8b43dd59251c171a" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">element_type* <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::pop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>call only from the reader (owner) </dd></dl>
</div>
</div>
<a class="anchor" id="ae01948ecbff436e323da362b64f396c0"></a><!-- doxytag: member="cppa::util::single_reader_queue::push_back" ref="ae01948ecbff436e323da362b64f396c0" args="(element_type *new_element)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::push_back </td>
<td>(</td>
<td class="paramtype">element_type *&#160;</td>
<td class="paramname"><em>new_element</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div>
</div>
<a class="anchor" id="a5c9518e1302e164804a66148f897f782"></a><!-- doxytag: member="cppa::util::single_reader_queue::push_front" ref="a5c9518e1302e164804a66148f897f782" args="(element_type *element)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::push_front </td>
<td>(</td>
<td class="paramtype">element_type *&#160;</td>
<td class="paramname"><em>element</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>call only from the reader (owner) </dd></dl>
</div>
</div>
<a class="anchor" id="abc957eee6ceaf59bfc0fbd1eb71d2cb3"></a><!-- doxytag: member="cppa::util::single_reader_queue::push_front" ref="abc957eee6ceaf59bfc0fbd1eb71d2cb3" args="(element_type *first, element_type *last)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::push_front </td>
<td>(</td>
<td class="paramtype">element_type *&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">element_type *&#160;</td>
<td class="paramname"><em>last</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>call only from the reader (owner) </dd></dl>
</div>
</div>
<a class="anchor" id="a9a434b678dd6f33f8c10b064d2ea7995"></a><!-- doxytag: member="cppa::util::single_reader_queue::push_front" ref="a9a434b678dd6f33f8c10b064d2ea7995" args="(List &amp;&amp;list)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<div class="memtemplate">
template&lt;typename List &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::push_front </td>
<td>(</td>
<td class="paramtype">List &amp;&amp;&#160;</td>
<td class="paramname"><em>list</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>call only from the reader (owner) </dd></dl>
</div>
</div>
<a class="anchor" id="a57f26cda89d9337032362bc78cf58d93"></a><!-- doxytag: member="cppa::util::single_reader_queue::try_pop" ref="a57f26cda89d9337032362bc78cf58d93" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
<table class="memname">
<tr>
<td class="memname">element_type* <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue</a>&lt; T &gt;::try_pop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="warning"><dt><b>Warning:</b></dt><dd>call only from the reader (owner) </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/util/single_reader_queue.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">upgrade_lock_guard</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">upgrade_lock_guard</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt; Class Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::upgrade_lock_guard" -->
<p><code>#include &lt;upgrade_lock_guard.hpp&gt;</code></p>
<p><a href="classcppa_1_1util_1_1upgrade__lock__guard-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename UpgradeLockable&gt;<br/>
class cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt;</h3>
<p>Upgrades shared ownership to exclusive ownership. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>cppa/util/upgrade_lock_guard.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div>
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<table style="margin: 10px;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1util_1_1comparable.html">comparable</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;O&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1serializer.html">serializer</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">converted_thread_context</a> (<a class="el" href="namespacecppa_1_1detail.html">cppa::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">single_reader_queue</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">abstract_actor</a> (<a class="el" href="namespacecppa_1_1detail.html">cppa::detail</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1cow__ptr.html">cow_ptr</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1invoke__rules__base.html">invoke_rules_base</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1object.html">object</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">abstract_uniform_type_info</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1is__array__of.html">is_array_of</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1actor.html">actor</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1is__primitive.html">is_primitive</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1deserializer.html">deserializer</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;L&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1tuple.html">tuple</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1actor__proxy.html">actor_proxy</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1process__information.html">process_information</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1tuple__view.html">tuple_view</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1local__actor.html">local_actor</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1pt__token.html">pt_token</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1type__list__apply.html">type_list_apply</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="structcppa_1_1anything.html">anything</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1eval__type__list.html">eval_type_list</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1attachable.html">attachable</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">eval_type_lists</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1exception.html">exception</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1message__queue.html">message_queue</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1ref__counted.html">ref_counted</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1group_1_1module.html">group::module</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structcppa_1_1util_1_1rm__ref.html">rm_ref</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">upgrade_lock_guard</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1bind__failure.html">bind_failure</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1group.html">group</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classcppa_1_1network__error.html">network_error</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">scheduled_actor</a> (<a class="el" href="namespacecppa_1_1detail.html">cppa::detail</a>)&#160;&#160;&#160;</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classcppa_1_1channel.html">channel</a> (<a class="el" href="namespacecppa.html">cppa</a>)&#160;&#160;&#160;</td><td></td><td></td><td></td></tr>
<tr><td></td><td valign="top"><a class="el" href="structcppa_1_1util_1_1if__else__c.html">if_else_c</a> (<a class="el" href="namespacecppa_1_1util.html">cppa::util</a>)&#160;&#160;&#160;</td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
closed.png

126 Bytes

/* The standard CSS for doxygen */
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
}
/* @group Heading Levels */
h1 {
font-size: 150%;
}
.title {
font-size: 150%;
font-weight: bold;
margin: 10px 2px;
}
h2 {
font-size: 120%;
}
h3 {
font-size: 100%;
}
dt {
font-weight: bold;
}
div.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
}
p.startli, p.startdd, p.starttd {
margin-top: 2px;
}
p.endli {
margin-bottom: 0px;
}
p.enddd {
margin-bottom: 4px;
}
p.endtd {
margin-bottom: 2px;
}
/* @end */
caption {
font-weight: bold;
}
span.legend {
font-size: 70%;
text-align: center;
}
h3.version {
font-size: 90%;
text-align: center;
}
div.qindex, div.navtab{
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
}
div.qindex, div.navpath {
width: 100%;
line-height: 140%;
}
div.navtab {
margin-right: 15px;
}
/* @group Link Styling */
a {
color: #3D578C;
font-weight: normal;
text-decoration: none;
}
.contents a:visited {
color: #4665A2;
}
a:hover {
text-decoration: underline;
}
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.code {
color: #4665A2;
}
a.codeRef {
color: #4665A2;
}
/* @end */
dl.el {
margin-left: -1cm;
}
.fragment {
font-family: monospace, fixed;
font-size: 105%;
}
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
overflow: auto;
word-wrap: break-word;
font-size: 9pt;
line-height: 125%;
}
div.ah {
background-color: black;
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px;
padding: 0.2em;
border: solid thin #333;
border-radius: 0.5em;
-webkit-border-radius: .5em;
-moz-border-radius: .5em;
box-shadow: 2px 2px 3px #999;
-webkit-box-shadow: 2px 2px 3px #999;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
font-weight: bold;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
background-color: white;
color: black;
margin: 0;
}
div.contents {
margin-top: 10px;
margin-left: 8px;
margin-right: 8px;
}
td.indexkey {
background-color: #EBEFF6;
font-weight: bold;
border: 1px solid #C4CFE5;
margin: 2px 0px 2px 0;
padding: 2px 10px;
}
td.indexvalue {
background-color: #EBEFF6;
border: 1px solid #C4CFE5;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #EEF1F7;
}
p.formulaDsp {
text-align: center;
}
img.formulaDsp {
}
img.formulaInl {
vertical-align: middle;
}
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
border: 0px;
}
address.footer {
text-align: right;
padding-right: 12px;
}
img.footer {
border: 0px;
vertical-align: middle;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
/* @end */
/*
.search {
color: #003399;
font-weight: bold;
}
form.search {
margin-bottom: 0px;
margin-top: 0px;
}
input.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
*/
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #A3B4D7;
}
th.dirtab {
background: #EBEFF6;
font-weight: bold;
}
hr {
height: 0px;
border: none;
border-top: 1px solid #4A6AAA;
}
hr.footer {
height: 1px;
}
/* @group Member Descriptions */
table.memberdecls {
border-spacing: 0px;
padding: 0px;
}
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
background-color: #F9FAFC;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: #555;
}
.memItemLeft, .memItemRight, .memTemplParams {
border-top: 1px solid #C4CFE5;
}
.memItemLeft, .memTemplItemLeft {
white-space: nowrap;
}
.memItemRight {
width: 100%;
}
.memTemplParams {
color: #4665A2;
white-space: nowrap;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #4665A2;
font-weight: normal;
margin-left: 9px;
}
.memnav {
background-color: #EBEFF6;
border: 1px solid #A3B4D7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.mempage {
width: 100%;
}
.memitem {
padding: 0;
margin-bottom: 10px;
margin-right: 5px;
}
.memname {
white-space: nowrap;
font-weight: bold;
margin-left: 6px;
}
.memproto, dl.reflist dt {
border-top: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
padding: 6px 0px 6px 0px;
color: #253555;
font-weight: bold;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
/* opera specific markup */
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
border-top-right-radius: 8px;
border-top-left-radius: 8px;
/* firefox specific markup */
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-moz-border-radius-topright: 8px;
-moz-border-radius-topleft: 8px;
/* webkit specific markup */
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-webkit-border-top-right-radius: 8px;
-webkit-border-top-left-radius: 8px;
background-image:url('nav_f.png');
background-repeat:repeat-x;
background-color: #E2E8F2;
}
.memdoc, dl.reflist dd {
border-bottom: 1px solid #A8B8D9;
border-left: 1px solid #A8B8D9;
border-right: 1px solid #A8B8D9;
padding: 2px 5px;
background-color: #FBFCFD;
border-top-width: 0;
/* opera specific markup */
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
/* firefox specific markup */
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
/* webkit specific markup */
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
}
dl.reflist dt {
padding: 5px;
}
dl.reflist dd {
margin: 0px 0px 10px 0px;
padding: 5px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
white-space: nowrap;
}
.paramname em {
font-style: normal;
}
.params, .retval, .exception, .tparams {
border-spacing: 6px 2px;
}
.params .paramname, .retval .paramname {
font-weight: bold;
vertical-align: top;
}
.params .paramtype {
font-style: italic;
vertical-align: top;
}
.params .paramdir {
font-family: "courier new",courier,monospace;
vertical-align: top;
}
/* @end */
/* @group Directory (tree) */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin: 0px;
}
/* these are for tree view when used as main index */
.directory {
font-size: 9pt;
font-weight: bold;
margin: 5px;
}
.directory h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
/*
The following two styles can be used to replace the root node title
with an image of your choice. Simply uncomment the next two styles,
specify the name of your image and be sure to set 'height' to the
proper pixel height of your image.
*/
/*
.directory h3.swap {
height: 61px;
background-repeat: no-repeat;
background-image: url("yourimage.gif");
}
.directory h3.swap span {
display: none;
}
*/
.directory > h3 {
margin-top: 0;
}
.directory p {
margin: 0px;
white-space: nowrap;
}
.directory div {
display: none;
margin: 0px;
}
.directory img {
vertical-align: -30%;
}
/* these are for tree view when not used as main index */
.directory-alt {
font-size: 100%;
font-weight: bold;
}
.directory-alt h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
.directory-alt > h3 {
margin-top: 0;
}
.directory-alt p {
margin: 0px;
white-space: nowrap;
}
.directory-alt div {
display: none;
margin: 0px;
}
.directory-alt img {
vertical-align: -30%;
}
/* @end */
div.dynheader {
margin-top: 8px;
}
address {
font-style: normal;
color: #2A3D61;
}
table.doxtable {
border-collapse:collapse;
}
table.doxtable td, table.doxtable th {
border: 1px solid #2D4068;
padding: 3px 7px 2px;
}
table.doxtable th {
background-color: #374F7F;
color: #FFFFFF;
font-size: 110%;
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
}
table.fieldtable {
width: 100%;
margin-bottom: 10px;
border: 1px solid #A8B8D9;
border-spacing: 0px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}
.fieldtable td, .fieldtable th {
padding: 3px 7px 2px;
}
.fieldtable td.fieldtype, .fieldtable td.fieldname {
white-space: nowrap;
border-right: 1px solid #A8B8D9;
border-bottom: 1px solid #A8B8D9;
vertical-align: top;
}
.fieldtable td.fielddoc {
border-bottom: 1px solid #A8B8D9;
width: 100%;
}
.fieldtable tr:last-child td {
border-bottom: none;
}
.fieldtable th {
background-image:url('nav_f.png');
background-repeat:repeat-x;
background-color: #E2E8F2;
font-size: 90%;
color: #253555;
padding-bottom: 4px;
padding-top: 5px;
text-align:left;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom: 1px solid #A8B8D9;
}
.tabsearch {
top: 0px;
left: 10px;
height: 36px;
background-image: url('tab_b.png');
z-index: 101;
overflow: hidden;
font-size: 13px;
}
.navpath ul
{
font-size: 11px;
background-image:url('tab_b.png');
background-repeat:repeat-x;
height:30px;
line-height:30px;
color:#8AA0CC;
border:solid 1px #C2CDE4;
overflow:hidden;
margin:0px;
padding:0px;
}
.navpath li
{
list-style-type:none;
float:left;
padding-left:10px;
padding-right:15px;
background-image:url('bc_s.png');
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
}
.navpath li.navelem a
{
height:32px;
display:block;
text-decoration: none;
outline: none;
}
.navpath li.navelem a:hover
{
color:#6884BD;
}
.navpath li.footer
{
list-style-type:none;
float:right;
padding-left:10px;
padding-right:15px;
background-image:none;
background-repeat:no-repeat;
background-position:right;
color:#364D7C;
font-size: 8pt;
}
div.summary
{
float: right;
font-size: 8pt;
padding-right: 5px;
width: 50%;
text-align: right;
}
div.summary a
{
white-space: nowrap;
}
div.ingroups
{
margin-left: 5px;
font-size: 8pt;
padding-left: 5px;
width: 50%;
text-align: left;
}
div.ingroups a
{
white-space: nowrap;
}
div.header
{
background-image:url('nav_h.png');
background-repeat:repeat-x;
background-color: #F9FAFC;
margin: 0px;
border-bottom: 1px solid #C4CFE5;
}
div.headertitle
{
padding: 5px 5px 5px 7px;
}
dl
{
padding: 0 0 0 10px;
}
dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
{
border-left:4px solid;
padding: 0 0 0 6px;
}
dl.note
{
border-color: #D0C000;
}
dl.warning, dl.attention
{
border-color: #FF0000;
}
dl.pre, dl.post, dl.invariant
{
border-color: #00D000;
}
dl.deprecated
{
border-color: #505050;
}
dl.todo
{
border-color: #00C0E0;
}
dl.test
{
border-color: #3030E0;
}
dl.bug
{
border-color: #C08050;
}
#projectlogo
{
text-align: center;
vertical-align: bottom;
border-collapse: separate;
}
#projectlogo img
{
border: 0px none;
}
#projectname
{
font: 300% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 2px 0px;
}
#projectbrief
{
font: 120% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 0px;
}
#projectnumber
{
font: 50% Tahoma, Arial,sans-serif;
margin: 0px;
padding: 0px;
}
#titlearea
{
padding: 0px;
margin: 0px;
width: 100%;
border-bottom: 1px solid #5373B4;
}
.image
{
text-align: center;
}
.dotgraph
{
text-align: center;
}
.mscgraph
{
text-align: center;
}
.caption
{
font-weight: bold;
}
div.zoom
{
border: 1px solid #90A5CE;
}
dl.citelist {
margin-bottom:50px;
}
dl.citelist dt {
color:#334975;
float:left;
font-weight:bold;
margin-right:10px;
padding:5px;
}
dl.citelist dd {
margin:2px 0;
padding:5px 0;
}
@media print
{
#top { display: none; }
#side-nav { display: none; }
#nav-path { display: none; }
body { overflow:visible; }
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
.summary { display: none; }
.memitem { page-break-inside: avoid; }
#doc-content
{
margin-left:0 !important;
height:auto !important;
width:auto !important;
overflow:inherit;
display:inline;
}
pre.fragment
{
overflow: visible;
text-wrap: unrestricted;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 */
word-wrap: break-word; /* IE 5.5+ */
}
}
doxygen.png

3.85 KB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Examples</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Examples</div> </div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all examples:</div><ul>
<li><a class="el" href="announce_example_1_8cpp-example.html">announce_example_1.cpp</a></li>
<li><a class="el" href="announce_example_2_8cpp-example.html">announce_example_2.cpp</a></li>
<li><a class="el" href="announce_example_3_8cpp-example.html">announce_example_3.cpp</a></li>
<li><a class="el" href="announce_example_4_8cpp-example.html">announce_example_4.cpp</a></li>
<li><a class="el" href="announce_example_5_8cpp-example.html">announce_example_5.cpp</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_j"><span>j</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_q"><span>q</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>add_module()
: <a class="el" href="classcppa_1_1group.html#ad8a69a374587d3d44a7dac627453dfba">cppa::group</a>
</li>
<li>at()
: <a class="el" href="classcppa_1_1tuple.html#ae02692adef659975450ba8b35996d83d">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>attach()
: <a class="el" href="classcppa_1_1actor.html#a1f4813520d9e42e81418ef5688fa01ce">cppa::actor</a>
</li>
<li>attach_functor()
: <a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>begin_object()
: <a class="el" href="classcppa_1_1deserializer.html#a0dd429dbb1e6e5410e907a0727e2e26d">cppa::deserializer</a>
, <a class="el" href="classcppa_1_1serializer.html#ad87c5557dc2582f1df7e6c8770c49286">cppa::serializer</a>
</li>
<li>begin_sequence()
: <a class="el" href="classcppa_1_1serializer.html#a5ff6beb06c8bb85de11fdfb33f0ea0aa">cppa::serializer</a>
, <a class="el" href="classcppa_1_1deserializer.html#ab7342c6023ac82b8fc2e1c90db265f93">cppa::deserializer</a>
</li>
<li>by_id()
: <a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>create()
: <a class="el" href="classcppa_1_1uniform__type__info.html#ac3176c11824f46ace8c2899aa5993d2c">cppa::uniform_type_info</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>delete_instance()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a3193d402e2550fc09dee4b4ffee2d33d">cppa::uniform_type_info</a>
, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>
</li>
<li>dequeue()
: <a class="el" href="classcppa_1_1message__queue.html#a8370c68e341077b737a5e5ba565302bb">cppa::message_queue</a>
</li>
<li>deref()
: <a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">cppa::ref_counted</a>
</li>
<li>deserialize()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a2d890210f405164b1c2252c9178c166d">cppa::uniform_type_info</a>
</li>
<li>detach()
: <a class="el" href="classcppa_1_1attachable.html#a2edbd4aa191d5b300f5be4256d6e6384">cppa::attachable</a>
, <a class="el" href="classcppa_1_1actor.html#af984afca4a4d83d233d2c88ecab3c25b">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>empty()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a49ab3201ddeba540d5b423a6cc3ac021">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>end_object()
: <a class="el" href="classcppa_1_1deserializer.html#ab74eee91442d5f3fd979bbaea7036769">cppa::deserializer</a>
, <a class="el" href="classcppa_1_1serializer.html#ab7d4c4dba33a86d3a86dd63d1d386ba0">cppa::serializer</a>
</li>
<li>end_sequence()
: <a class="el" href="classcppa_1_1deserializer.html#ad8b4ae56320e117ad03344d446e0cb6d">cppa::deserializer</a>
, <a class="el" href="classcppa_1_1serializer.html#a8c4e725095d8d51826f1ebc95e8b738a">cppa::serializer</a>
</li>
<li>enqueue()
: <a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">cppa::local_actor</a>
, <a class="el" href="classcppa_1_1message__queue.html#a81afac0e59699978bba1d148e67700fb">cppa::message_queue</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a42d5c66ce433a5bf8042d3d12e57cf85">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">cppa::channel</a>
</li>
<li>equals()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a7e7c2394a3b550f8fe9da6669b28c143">cppa::uniform_type_info</a>
, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>
</li>
<li>error_code()
: <a class="el" href="classcppa_1_1bind__failure.html#a5896714bd7174239529e80fdf19727d5">cppa::bind_failure</a>
</li>
<li>establish_backlink()
: <a class="el" href="classcppa_1_1actor.html#a81f264bf10218ec66a04ed2bad609930">cppa::actor</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a6d022f1fc98a080b4fc8d77582f1a30a">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">cppa::actor</a>
</li>
<li>exception()
: <a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">cppa::exception</a>
</li>
</ul>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>from()
: <a class="el" href="classcppa_1_1object.html#a889c5886345264a36ce62e9c4d860936">cppa::object</a>
, <a class="el" href="classcppa_1_1uniform__type__info.html#a5180077e36e8cbd495b546278641cfbc">cppa::uniform_type_info</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>get()
: <a class="el" href="classcppa_1_1group_1_1module.html#ae4a49d9033ff40da17d4e738b9f5733b">cppa::group::module</a>
, <a class="el" href="classcppa_1_1group.html#a27268c44307a292136b607d7aaf6c5f6">cppa::group</a>
, <a class="el" href="classcppa_1_1object.html#afb1053cae79aab6428773539f9599b04">cppa::object</a>
, <a class="el" href="group___type_system.html#ga22a8f475d1b708c6d70598370ba92d8f">cppa::primitive_variant</a>
, <a class="el" href="classcppa_1_1process__information.html#afc652568bb751841b0ce90cea74d8e2d">cppa::process_information</a>
, <a class="el" href="group___copy_on_write.html#ga0f1c5e333bf343f5fc4d264fd8b8a175">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>get_intermediate()
: <a class="el" href="classcppa_1_1invoke__rules__base.html#a037945a1497fcc567bb3266626a7e457">cppa::invoke_rules_base</a>
</li>
<li>get_ref()
: <a class="el" href="group___type_system.html#ga933cd1117131023bed7812fa237a42fd">cppa::primitive_variant</a>
, <a class="el" href="group___copy_on_write.html#gab4c409d619905c1c1c080060a330aa4b">cppa::tuple&lt; ElementTypes &gt;</a>
, <a class="el" href="classcppa_1_1object.html#a451a16ec38159b90acb1c3e2bf47d7ee">cppa::object</a>
, <a class="el" href="group___type_system.html#ga744d167a0282d4cb873c665bc2326b4c">cppa::primitive_variant</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>id()
: <a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">cppa::actor</a>
</li>
<li>identifier()
: <a class="el" href="classcppa_1_1group.html#a0ca2805302d4af52ed0d5052bbf3bce9">cppa::group</a>
</li>
<li>instances()
: <a class="el" href="classcppa_1_1uniform__type__info.html#ae47bcaf90389e70da7869e96c28ea330">cppa::uniform_type_info</a>
</li>
</ul>
<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
<li>join()
: <a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>last_dequeued()
: <a class="el" href="classcppa_1_1message__queue.html#ab55eab407796dd27df7c3d6072a6d3da">cppa::message_queue</a>
</li>
<li>last_sender()
: <a class="el" href="classcppa_1_1message__queue.html#aaf3d5f7a5bcac11152eec81468639603">cppa::message_queue</a>
</li>
<li>leave()
: <a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">cppa::actor</a>
</li>
<li>link_to()
: <a class="el" href="classcppa_1_1actor.html#a168ff508e1ace0970c80333a57cfcfcf">cppa::actor</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a346c923365e78867139e7fe365b60cd3">cppa::actor_proxy</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>make_tuple()
: <a class="el" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>message_queue()
: <a class="el" href="classcppa_1_1message__queue.html#a9228dcc378a19f0b065ee226facb5af9">cppa::message_queue</a>
</li>
<li>module_name()
: <a class="el" href="classcppa_1_1group.html#a2a366f8a319cb300c6ec1874b2eb296a">cppa::group</a>
</li>
<li>mutable_value()
: <a class="el" href="classcppa_1_1object.html#af38be5d0d948be00eac3b22b88ac835a">cppa::object</a>
</li>
</ul>
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>name()
: <a class="el" href="classcppa_1_1group_1_1module.html#a36e321d9fffe09e7f68de19b2941ce8a">cppa::group::module</a>
, <a class="el" href="classcppa_1_1uniform__type__info.html#a2691e562da3909c199070181d01ec068">cppa::uniform_type_info</a>
</li>
<li>new_instance()
: <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>
, <a class="el" href="classcppa_1_1uniform__type__info.html#aa5799554ba3bafbb46d07f0744c8b1bd">cppa::uniform_type_info</a>
</li>
<li>node_id()
: <a class="el" href="classcppa_1_1process__information.html#a86925b3d47c880b2149216225f072432">cppa::process_information</a>
</li>
</ul>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>object()
: <a class="el" href="classcppa_1_1object.html#ac391fb9cb23624cc6083790da5cbfd60">cppa::object</a>
</li>
<li>operator!=()
: <a class="el" href="classcppa_1_1tuple.html#a67731c18c8cee3d4a6ae6ddb503a7503">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>operator()()
: <a class="el" href="classcppa_1_1invoke__rules__base.html#a1fe9fd86545518e48dad939f63be5cb7">cppa::invoke_rules_base</a>
</li>
<li>operator=()
: <a class="el" href="classcppa_1_1object.html#a937f356538af522ad9aba06b4fcf544f">cppa::object</a>
, <a class="el" href="classcppa_1_1primitive__variant.html#a4b2b5933c61eaf43aef2a9586257e8ec">cppa::primitive_variant</a>
, <a class="el" href="classcppa_1_1object.html#a9ea08173bb3430caeea9b43b4037a2c0">cppa::object</a>
, <a class="el" href="classcppa_1_1primitive__variant.html#a5b9a44c30d9dc82187dbab23f7038345">cppa::primitive_variant</a>
</li>
<li>operator==()
: <a class="el" href="classcppa_1_1tuple.html#a1aa3307b3618ce2f4fe88e4022de18b4">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>parent_process()
: <a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">cppa::actor</a>
</li>
<li>parent_process_ptr()
: <a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">cppa::actor</a>
</li>
<li>peek_object()
: <a class="el" href="classcppa_1_1deserializer.html#a2486ae2333c538cbb964c9925e3219d9">cppa::deserializer</a>
</li>
<li>pop()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a4dcb8d5ea7f58b2d8b43dd59251c171a">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>primitive_type
: <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">cppa::primitive_variant</a>
</li>
<li>primitive_variant()
: <a class="el" href="classcppa_1_1primitive__variant.html#a8c781811c133807ff5159c7fccdb23aa">cppa::primitive_variant</a>
</li>
<li>process_id()
: <a class="el" href="classcppa_1_1process__information.html#ada8c18fd370432ef5ed4fee969cf9f7c">cppa::process_information</a>
</li>
<li>ptype()
: <a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1">cppa::primitive_variant</a>
</li>
<li>push_back()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#ae01948ecbff436e323da362b64f396c0">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>push_front()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#abc957eee6ceaf59bfc0fbd1eb71d2cb3">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
</ul>
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>quit()
: <a class="el" href="classcppa_1_1local__actor.html#a70a12ba036a189340c067286a0fddf40">cppa::local_actor</a>
, <a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html#a7f4d979e8f28189ce22721522cbcd572">cppa::detail::scheduled_actor</a>
, <a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html#ae7b51f9d579b797cca1a99c4cfa7c9be">cppa::detail::converted_thread_context</a>
</li>
</ul>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>read_tuple()
: <a class="el" href="classcppa_1_1deserializer.html#a7ab5ff291c95d1b0e20a57086c422eb8">cppa::deserializer</a>
</li>
<li>read_value()
: <a class="el" href="classcppa_1_1deserializer.html#a3cdf810f985cd64a0d429b1f28e203ca">cppa::deserializer</a>
</li>
<li>reason()
: <a class="el" href="classcppa_1_1actor__exited.html#abc928e0356c14c2d9b64d31df5d60a2e">cppa::actor_exited</a>
</li>
<li>ref()
: <a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">cppa::ref_counted</a>
</li>
<li>remove_backlink()
: <a class="el" href="classcppa_1_1actor__proxy.html#a702e27779d694060268759937450f200">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>seek_object()
: <a class="el" href="classcppa_1_1deserializer.html#aac302b6a8c6e3f2c0006750968b7a975">cppa::deserializer</a>
</li>
<li>serialize()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e">cppa::uniform_type_info</a>
</li>
<li>size()
: <a class="el" href="classcppa_1_1tuple.html#a6722ca3a3e9abb457fe100a1c97e514e">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>subscribe()
: <a class="el" href="classcppa_1_1group.html#aabeb55e4593f8f25e15863ecde26542b">cppa::group</a>
</li>
</ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>trap_exit()
: <a class="el" href="classcppa_1_1message__queue.html#af37d858fca5d341c9072a896d2982d70">cppa::message_queue</a>
</li>
<li>try_dequeue()
: <a class="el" href="classcppa_1_1message__queue.html#a8da961a2821af1fa8a99a0bf881ff4c8">cppa::message_queue</a>
</li>
<li>try_pop()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a57f26cda89d9337032362bc78cf58d93">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>tuple()
: <a class="el" href="classcppa_1_1tuple.html#af83d6895558aa16edff360cd2fccd60a">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>type()
: <a class="el" href="classcppa_1_1primitive__variant.html#adb321d9572e97691f7970c85269abd2a">cppa::primitive_variant</a>
, <a class="el" href="classcppa_1_1object.html#a13c253bcb371b8b414dc776bf945b6b6">cppa::object</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>unique()
: <a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">cppa::ref_counted</a>
</li>
<li>unlink_from()
: <a class="el" href="classcppa_1_1actor.html#a9bc15c2a879dad10ba8a2ae8e885e72d">cppa::actor</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a072f7efc8633be64fdc5fb8ac6ae3a0b">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">cppa::actor</a>
</li>
<li>utype_at()
: <a class="el" href="classcppa_1_1tuple.html#a3e25e225ee7e79d40603960ef9629097">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
</ul>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>vals()
: <a class="el" href="classcppa_1_1tuple.html#aace812c866c4dca8c55f42f842313fd8">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>value()
: <a class="el" href="classcppa_1_1object.html#a34d8b87d10785da1ab3729f00b8b6924">cppa::object</a>
</li>
</ul>
<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
<li>what()
: <a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">cppa::exception</a>
</li>
<li>write_tuple()
: <a class="el" href="classcppa_1_1serializer.html#a7b7be85fb3dce3b83c5a3c5dac457f95">cppa::serializer</a>
</li>
<li>write_value()
: <a class="el" href="classcppa_1_1serializer.html#a2eb2aa15e5e772f570f56e9ae7c5eeae">cppa::serializer</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Class Members - Enumerations</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>primitive_type
: <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">cppa::primitive_variant</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_j"><span>j</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_q"><span>q</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>add_module()
: <a class="el" href="classcppa_1_1group.html#ad8a69a374587d3d44a7dac627453dfba">cppa::group</a>
</li>
<li>at()
: <a class="el" href="classcppa_1_1tuple.html#ae02692adef659975450ba8b35996d83d">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>attach()
: <a class="el" href="classcppa_1_1actor.html#a1f4813520d9e42e81418ef5688fa01ce">cppa::actor</a>
</li>
<li>attach_functor()
: <a class="el" href="classcppa_1_1actor.html#a28f8b6881e6becd0e78748deac75dadc">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>begin_object()
: <a class="el" href="classcppa_1_1deserializer.html#a0dd429dbb1e6e5410e907a0727e2e26d">cppa::deserializer</a>
, <a class="el" href="classcppa_1_1serializer.html#ad87c5557dc2582f1df7e6c8770c49286">cppa::serializer</a>
</li>
<li>begin_sequence()
: <a class="el" href="classcppa_1_1serializer.html#a5ff6beb06c8bb85de11fdfb33f0ea0aa">cppa::serializer</a>
, <a class="el" href="classcppa_1_1deserializer.html#ab7342c6023ac82b8fc2e1c90db265f93">cppa::deserializer</a>
</li>
<li>by_id()
: <a class="el" href="classcppa_1_1actor.html#ab8940c67681146f6c907a525ce63558e">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>create()
: <a class="el" href="classcppa_1_1uniform__type__info.html#ac3176c11824f46ace8c2899aa5993d2c">cppa::uniform_type_info</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>delete_instance()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a3193d402e2550fc09dee4b4ffee2d33d">cppa::uniform_type_info</a>
, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a76708273fee5e6de788f385beb10d91d">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>
</li>
<li>dequeue()
: <a class="el" href="classcppa_1_1message__queue.html#a8370c68e341077b737a5e5ba565302bb">cppa::message_queue</a>
</li>
<li>deref()
: <a class="el" href="classcppa_1_1ref__counted.html#a20355d1afa8b9b23956180bdec7c4ec7">cppa::ref_counted</a>
</li>
<li>deserialize()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a2d890210f405164b1c2252c9178c166d">cppa::uniform_type_info</a>
</li>
<li>detach()
: <a class="el" href="classcppa_1_1attachable.html#a2edbd4aa191d5b300f5be4256d6e6384">cppa::attachable</a>
, <a class="el" href="classcppa_1_1actor.html#af984afca4a4d83d233d2c88ecab3c25b">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>empty()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a49ab3201ddeba540d5b423a6cc3ac021">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>end_object()
: <a class="el" href="classcppa_1_1deserializer.html#ab74eee91442d5f3fd979bbaea7036769">cppa::deserializer</a>
, <a class="el" href="classcppa_1_1serializer.html#ab7d4c4dba33a86d3a86dd63d1d386ba0">cppa::serializer</a>
</li>
<li>end_sequence()
: <a class="el" href="classcppa_1_1deserializer.html#ad8b4ae56320e117ad03344d446e0cb6d">cppa::deserializer</a>
, <a class="el" href="classcppa_1_1serializer.html#a8c4e725095d8d51826f1ebc95e8b738a">cppa::serializer</a>
</li>
<li>enqueue()
: <a class="el" href="classcppa_1_1local__actor.html#a490b3ff68ece7f031cd261441827badb">cppa::local_actor</a>
, <a class="el" href="classcppa_1_1message__queue.html#a81afac0e59699978bba1d148e67700fb">cppa::message_queue</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a42d5c66ce433a5bf8042d3d12e57cf85">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1channel.html#a31f530d62028dc6be1a5f7881a294ed8">cppa::channel</a>
</li>
<li>equals()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a7e7c2394a3b550f8fe9da6669b28c143">cppa::uniform_type_info</a>
, <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a213f3feef660b22383f5dad52311aa52">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>
</li>
<li>error_code()
: <a class="el" href="classcppa_1_1bind__failure.html#a5896714bd7174239529e80fdf19727d5">cppa::bind_failure</a>
</li>
<li>establish_backlink()
: <a class="el" href="classcppa_1_1actor.html#a81f264bf10218ec66a04ed2bad609930">cppa::actor</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a6d022f1fc98a080b4fc8d77582f1a30a">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1actor.html#af35550dff1f765a6575e26787619cc7b">cppa::actor</a>
</li>
<li>exception()
: <a class="el" href="classcppa_1_1exception.html#a21b873485daae04c62362d09d97b1ae8">cppa::exception</a>
</li>
</ul>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>from()
: <a class="el" href="classcppa_1_1object.html#a889c5886345264a36ce62e9c4d860936">cppa::object</a>
, <a class="el" href="classcppa_1_1uniform__type__info.html#a5180077e36e8cbd495b546278641cfbc">cppa::uniform_type_info</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>get()
: <a class="el" href="classcppa_1_1group_1_1module.html#ae4a49d9033ff40da17d4e738b9f5733b">cppa::group::module</a>
, <a class="el" href="classcppa_1_1group.html#a27268c44307a292136b607d7aaf6c5f6">cppa::group</a>
, <a class="el" href="classcppa_1_1object.html#afb1053cae79aab6428773539f9599b04">cppa::object</a>
, <a class="el" href="group___type_system.html#ga22a8f475d1b708c6d70598370ba92d8f">cppa::primitive_variant</a>
, <a class="el" href="classcppa_1_1process__information.html#afc652568bb751841b0ce90cea74d8e2d">cppa::process_information</a>
, <a class="el" href="group___copy_on_write.html#ga0f1c5e333bf343f5fc4d264fd8b8a175">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>get_intermediate()
: <a class="el" href="classcppa_1_1invoke__rules__base.html#a037945a1497fcc567bb3266626a7e457">cppa::invoke_rules_base</a>
</li>
<li>get_ref()
: <a class="el" href="group___type_system.html#ga933cd1117131023bed7812fa237a42fd">cppa::primitive_variant</a>
, <a class="el" href="group___copy_on_write.html#gab4c409d619905c1c1c080060a330aa4b">cppa::tuple&lt; ElementTypes &gt;</a>
, <a class="el" href="classcppa_1_1object.html#a451a16ec38159b90acb1c3e2bf47d7ee">cppa::object</a>
, <a class="el" href="group___type_system.html#ga744d167a0282d4cb873c665bc2326b4c">cppa::primitive_variant</a>
</li>
</ul>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
<li>id()
: <a class="el" href="classcppa_1_1actor.html#a1bcf6d0dda3abb9ba1811c62efc998c9">cppa::actor</a>
</li>
<li>identifier()
: <a class="el" href="classcppa_1_1group.html#a0ca2805302d4af52ed0d5052bbf3bce9">cppa::group</a>
</li>
<li>instances()
: <a class="el" href="classcppa_1_1uniform__type__info.html#ae47bcaf90389e70da7869e96c28ea330">cppa::uniform_type_info</a>
</li>
</ul>
<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
<li>join()
: <a class="el" href="classcppa_1_1actor.html#a241fc28c611582b32745b7ae12427d4e">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>last_dequeued()
: <a class="el" href="classcppa_1_1message__queue.html#ab55eab407796dd27df7c3d6072a6d3da">cppa::message_queue</a>
</li>
<li>last_sender()
: <a class="el" href="classcppa_1_1message__queue.html#aaf3d5f7a5bcac11152eec81468639603">cppa::message_queue</a>
</li>
<li>leave()
: <a class="el" href="classcppa_1_1actor.html#a87a1491e1d43994ddf099643b9443c50">cppa::actor</a>
</li>
<li>link_to()
: <a class="el" href="classcppa_1_1actor.html#a168ff508e1ace0970c80333a57cfcfcf">cppa::actor</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a346c923365e78867139e7fe365b60cd3">cppa::actor_proxy</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>make_tuple()
: <a class="el" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>message_queue()
: <a class="el" href="classcppa_1_1message__queue.html#a9228dcc378a19f0b065ee226facb5af9">cppa::message_queue</a>
</li>
<li>module_name()
: <a class="el" href="classcppa_1_1group.html#a2a366f8a319cb300c6ec1874b2eb296a">cppa::group</a>
</li>
<li>mutable_value()
: <a class="el" href="classcppa_1_1object.html#af38be5d0d948be00eac3b22b88ac835a">cppa::object</a>
</li>
</ul>
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>name()
: <a class="el" href="classcppa_1_1group_1_1module.html#a36e321d9fffe09e7f68de19b2941ce8a">cppa::group::module</a>
, <a class="el" href="classcppa_1_1uniform__type__info.html#a2691e562da3909c199070181d01ec068">cppa::uniform_type_info</a>
</li>
<li>new_instance()
: <a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html#a2c654c8636e3effdd835659e2f1f4237">cppa::util::abstract_uniform_type_info&lt; T &gt;</a>
, <a class="el" href="classcppa_1_1uniform__type__info.html#aa5799554ba3bafbb46d07f0744c8b1bd">cppa::uniform_type_info</a>
</li>
<li>node_id()
: <a class="el" href="classcppa_1_1process__information.html#a86925b3d47c880b2149216225f072432">cppa::process_information</a>
</li>
</ul>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>object()
: <a class="el" href="classcppa_1_1object.html#ac391fb9cb23624cc6083790da5cbfd60">cppa::object</a>
</li>
<li>operator!=()
: <a class="el" href="classcppa_1_1tuple.html#a67731c18c8cee3d4a6ae6ddb503a7503">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>operator()()
: <a class="el" href="classcppa_1_1invoke__rules__base.html#a1fe9fd86545518e48dad939f63be5cb7">cppa::invoke_rules_base</a>
</li>
<li>operator=()
: <a class="el" href="classcppa_1_1object.html#a937f356538af522ad9aba06b4fcf544f">cppa::object</a>
, <a class="el" href="classcppa_1_1primitive__variant.html#a4b2b5933c61eaf43aef2a9586257e8ec">cppa::primitive_variant</a>
, <a class="el" href="classcppa_1_1object.html#a9ea08173bb3430caeea9b43b4037a2c0">cppa::object</a>
, <a class="el" href="classcppa_1_1primitive__variant.html#a5b9a44c30d9dc82187dbab23f7038345">cppa::primitive_variant</a>
</li>
<li>operator==()
: <a class="el" href="classcppa_1_1tuple.html#a1aa3307b3618ce2f4fe88e4022de18b4">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>parent_process()
: <a class="el" href="classcppa_1_1actor.html#a87ed615d0b51a21ed8c7963c60b8c58b">cppa::actor</a>
</li>
<li>parent_process_ptr()
: <a class="el" href="classcppa_1_1actor.html#a4cc1aa76e5a902d82b05c05fa7ade100">cppa::actor</a>
</li>
<li>peek_object()
: <a class="el" href="classcppa_1_1deserializer.html#a2486ae2333c538cbb964c9925e3219d9">cppa::deserializer</a>
</li>
<li>pop()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a4dcb8d5ea7f58b2d8b43dd59251c171a">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>primitive_variant()
: <a class="el" href="classcppa_1_1primitive__variant.html#aea89938452c28d0f2f595054786ad9b5">cppa::primitive_variant</a>
</li>
<li>process_id()
: <a class="el" href="classcppa_1_1process__information.html#ada8c18fd370432ef5ed4fee969cf9f7c">cppa::process_information</a>
</li>
<li>ptype()
: <a class="el" href="classcppa_1_1primitive__variant.html#ac5636545a0b5fc6116cb5a9e88d59ac1">cppa::primitive_variant</a>
</li>
<li>push_back()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#ae01948ecbff436e323da362b64f396c0">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>push_front()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#abc957eee6ceaf59bfc0fbd1eb71d2cb3">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
</ul>
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>quit()
: <a class="el" href="classcppa_1_1local__actor.html#a70a12ba036a189340c067286a0fddf40">cppa::local_actor</a>
, <a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html#a7f4d979e8f28189ce22721522cbcd572">cppa::detail::scheduled_actor</a>
, <a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html#ae7b51f9d579b797cca1a99c4cfa7c9be">cppa::detail::converted_thread_context</a>
</li>
</ul>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>read_tuple()
: <a class="el" href="classcppa_1_1deserializer.html#a7ab5ff291c95d1b0e20a57086c422eb8">cppa::deserializer</a>
</li>
<li>read_value()
: <a class="el" href="classcppa_1_1deserializer.html#a3cdf810f985cd64a0d429b1f28e203ca">cppa::deserializer</a>
</li>
<li>reason()
: <a class="el" href="classcppa_1_1actor__exited.html#abc928e0356c14c2d9b64d31df5d60a2e">cppa::actor_exited</a>
</li>
<li>ref()
: <a class="el" href="classcppa_1_1ref__counted.html#adde91679876095e34d1ca4502e8c2ee9">cppa::ref_counted</a>
</li>
<li>remove_backlink()
: <a class="el" href="classcppa_1_1actor__proxy.html#a702e27779d694060268759937450f200">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1actor.html#a0344f0c785fdcec50644d95156cd8168">cppa::actor</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>seek_object()
: <a class="el" href="classcppa_1_1deserializer.html#aac302b6a8c6e3f2c0006750968b7a975">cppa::deserializer</a>
</li>
<li>serialize()
: <a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e">cppa::uniform_type_info</a>
</li>
<li>size()
: <a class="el" href="classcppa_1_1tuple.html#a6722ca3a3e9abb457fe100a1c97e514e">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>subscribe()
: <a class="el" href="classcppa_1_1group.html#aabeb55e4593f8f25e15863ecde26542b">cppa::group</a>
</li>
</ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>trap_exit()
: <a class="el" href="classcppa_1_1message__queue.html#af37d858fca5d341c9072a896d2982d70">cppa::message_queue</a>
</li>
<li>try_dequeue()
: <a class="el" href="classcppa_1_1message__queue.html#a8da961a2821af1fa8a99a0bf881ff4c8">cppa::message_queue</a>
</li>
<li>try_pop()
: <a class="el" href="classcppa_1_1util_1_1single__reader__queue.html#a57f26cda89d9337032362bc78cf58d93">cppa::util::single_reader_queue&lt; T &gt;</a>
</li>
<li>tuple()
: <a class="el" href="classcppa_1_1tuple.html#af83d6895558aa16edff360cd2fccd60a">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>type()
: <a class="el" href="classcppa_1_1primitive__variant.html#adb321d9572e97691f7970c85269abd2a">cppa::primitive_variant</a>
, <a class="el" href="classcppa_1_1object.html#a13c253bcb371b8b414dc776bf945b6b6">cppa::object</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>unique()
: <a class="el" href="classcppa_1_1ref__counted.html#aa890095d175fd2ced20b7debbb569c5f">cppa::ref_counted</a>
</li>
<li>unlink_from()
: <a class="el" href="classcppa_1_1actor.html#a9bc15c2a879dad10ba8a2ae8e885e72d">cppa::actor</a>
, <a class="el" href="classcppa_1_1actor__proxy.html#a072f7efc8633be64fdc5fb8ac6ae3a0b">cppa::actor_proxy</a>
, <a class="el" href="classcppa_1_1actor.html#a70c9d68d260abc5df613ab54f6388db4">cppa::actor</a>
</li>
<li>utype_at()
: <a class="el" href="classcppa_1_1tuple.html#a3e25e225ee7e79d40603960ef9629097">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
</ul>
<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>vals()
: <a class="el" href="classcppa_1_1tuple.html#aace812c866c4dca8c55f42f842313fd8">cppa::tuple&lt; ElementTypes &gt;</a>
</li>
<li>value()
: <a class="el" href="classcppa_1_1object.html#a34d8b87d10785da1ab3729f00b8b6924">cppa::object</a>
</li>
</ul>
<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
<li>what()
: <a class="el" href="classcppa_1_1exception.html#a061b44f22152e145f7207cfa9cb191bf">cppa::exception</a>
</li>
<li>write_tuple()
: <a class="el" href="classcppa_1_1serializer.html#a7b7be85fb3dce3b83c5a3c5dac457f95">cppa::serializer</a>
</li>
<li>write_value()
: <a class="el" href="classcppa_1_1serializer.html#a2eb2aa15e5e772f570f56e9ae7c5eeae">cppa::serializer</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Copy-on-write optimization.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Copy-on-write optimization.</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1cow__ptr.html">cppa::cow_ptr&lt; T &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A copy-on-write smart pointer implementation. <a href="classcppa_1_1cow__ptr.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A fixed-length copy-on-write tuple. <a href="classcppa_1_1tuple.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;size_t N, typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___copy_on_write.html#ga0f1c5e333bf343f5fc4d264fd8b8a175">get</a> (const tuple&lt;...&gt; &amp;tup)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;size_t N, typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___copy_on_write.html#gab4c409d619905c1c1c080060a330aa4b">get_ref</a> (tuple&lt;...&gt; &amp;tup)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><code>libcppa</code> uses a copy-on-write optimization for its message passing implementation.</p>
<p><a class="el" href="classcppa_1_1tuple.html">Tuples</a> should <b>always</b> be used with by-value semantic, since tuples use a copy-on-write smart pointer internally. Let's assume two tuple <code>x</code> and <code>y</code>, whereas <code>y</code> is a copy of <code>x:</code> </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">auto</span> x = <a class="code" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935" title="Creates a new tuple from args.">make_tuple</a>(1, 2, 3);
<span class="keyword">auto</span> y = x;
</pre></div><p>Those two tuples initially point to the same data (the addresses of the first element of <code>x</code> is equal to the address of the first element of <code>y</code>):</p>
<div class="fragment"><pre class="fragment"> assert(&amp;(get&lt;0&gt;(x)) == &amp;(get&lt;0&gt;(y)));
</pre></div><p><code>get&lt;0&gt;(x)</code> returns a const-reference to the first element of <code>x</code>. The function <code>get</code> does not have a const-overload to avoid unintended copies. The function <code>get_ref</code> could be used to modify tuple elements. A call to this function detaches the tuple by copying the data before modifying it if there are two or more references to the data:</p>
<div class="fragment"><pre class="fragment"> <span class="comment">// detaches x from y</span>
get_ref&lt;0&gt;(x) = 42;
<span class="comment">// x and y no longer point to the same data</span>
assert(&amp;(get&lt;0&gt;(x)) != &amp;(get&lt;0&gt;(y)));
</pre></div> <hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0f1c5e333bf343f5fc4d264fd8b8a175"></a><!-- doxytag: member="cppa::tuple::get" ref="ga0f1c5e333bf343f5fc4d264fd8b8a175" args="(const tuple&lt;...&gt; &amp;tup)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t N, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">const T &amp; get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt;...&gt; &amp;&#160;</td>
<td class="paramname"><em>tup</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets a const-reference to the <code>N</code>th element of <code>tup</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">tup</td><td>The tuple object. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const-reference of type T, whereas T is the type of the <code>N</code>th element of <code>tup</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="gab4c409d619905c1c1c080060a330aa4b"></a><!-- doxytag: member="cppa::tuple::get_ref" ref="gab4c409d619905c1c1c080060a330aa4b" args="(tuple&lt;...&gt; &amp;tup)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t N, typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">T &amp; get_ref </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1tuple.html">tuple</a>&lt;...&gt; &amp;&#160;</td>
<td class="paramname"><em>tup</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets a reference to the <code>N</code>th element of <code>tup</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">tup</td><td>The tuple object. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A reference of type T, whereas T is the type of the <code>N</code>th element of <code>tup</code>. </dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>Detaches <code>tup</code> if there are two or more references to the tuple data. </dd></dl>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Implicit type conversions.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Implicit type conversions.</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename... Types&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">tuple&lt; Types...&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935">make_tuple</a> (const Types &amp;...args)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>The message passing of <code>libcppa</code> prohibits pointers in messages because it enforces network transparent messaging. Unfortunately, string literals in <code>C++</code> have the type <code>const char*</code>, resp. <code>const char[]</code>. Since <code>libcppa</code> is a user-friendly library, it silently converts string literals and C-strings to <code>std::string</code> objects. It also converts unicode literals to the corresponding STL container.</p>
<p>A few examples: </p>
<div class="fragment"><pre class="fragment"> <span class="comment">// sends an std::string containing &quot;hello actor!&quot; to itself</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), <span class="stringliteral">&quot;hello actor!&quot;</span>);
<span class="keyword">const</span> <span class="keywordtype">char</span>* cstring = <span class="stringliteral">&quot;cstring&quot;</span>;
<span class="comment">// sends an std::string containing &quot;cstring&quot; to itself</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), cstring);
<span class="comment">// sends an std::u16string containing the UTF16 string &quot;hello unicode world!&quot;</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), u<span class="stringliteral">&quot;hello unicode world!&quot;</span>);
<span class="comment">// x has the type cppa::tuple&lt;std::string, std::string&gt;</span>
<span class="keyword">auto</span> x = <a class="code" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935" title="Creates a new tuple from args.">make_tuple</a>(<span class="stringliteral">&quot;hello&quot;</span>, <span class="stringliteral">&quot;tuple&quot;</span>);
<a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
<span class="comment">// equal to: on(std::string(&quot;hello actor!&quot;))</span>
on(<span class="stringliteral">&quot;hello actor!&quot;</span>) &gt;&gt; []() { }
);
</pre></div> <hr/><h2>Function Documentation</h2>
<a class="anchor" id="gabd9c269d41c986f38dbb1145a65d1935"></a><!-- doxytag: member="cppa::tuple::make_tuple" ref="gabd9c269d41c986f38dbb1145a65d1935" args="(const Types &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... Types&gt; </div>
<table class="memname">
<tr>
<td class="memname">tuple&lt; Types...&gt; make_tuple </td>
<td>(</td>
<td class="paramtype">const Types &amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a new tuple from <code>args</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Values for the tuple elements. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A tuple object containing the values <code>args</code>. </dd></dl>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Message handling.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Message handling.</div> </div>
</div>
<div class="contents">
<p>This is the beating heart of <code>libcppa</code>. Actor programming is all about message handling.</p>
<p>A message in <code>libcppa</code> is a n-tuple of values (with size &gt;= 1). You can use almost every type in a messages.</p>
<h2><a class="anchor" id="Send"></a>
Send messages</h2>
<p>The function <code>send</code> could be used to send a message to an actor. The first argument is the receiver of the message followed by any number of values. <code>send</code> creates a tuple from the given values and enqueues the tuple to the receivers mailbox. Thus, send should <b>not</b> be used to send a message to multiple receivers. You should use the <code>enqueue</code> member function of the receivers instead as in the following example:</p>
<div class="fragment"><pre class="fragment"> <span class="comment">// spawn some actors</span>
<span class="keyword">auto</span> a1 = <a class="code" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753" title="Spawns a new actor that executes what with given arguments.">spawn</a>(...);
<span class="keyword">auto</span> a2 = <a class="code" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753" title="Spawns a new actor that executes what with given arguments.">spawn</a>(...);
<span class="keyword">auto</span> a3 = <a class="code" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753" title="Spawns a new actor that executes what with given arguments.">spawn</a>(...);
<span class="comment">// send a message to a1</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(a1, atom(<span class="stringliteral">&quot;hello&quot;</span>), <span class="stringliteral">&quot;hello a1!&quot;</span>);
<span class="comment">// send a message to a1, a2 and a3</span>
<span class="keyword">auto</span> msg = <a class="code" href="group___implicit_conversion.html#gabd9c269d41c986f38dbb1145a65d1935" title="Creates a new tuple from args.">make_tuple</a>(atom(<span class="stringliteral">&quot;compute&quot;</span>), 1, 2, 3);
<span class="keyword">auto</span> s = <span class="keyword">self</span>(); <span class="comment">// cache self() pointer</span>
<span class="comment">// note: this is more efficient then using send() three times because</span>
<span class="comment">// send() would create a new tuple each time;</span>
<span class="comment">// this safes both time and memory thanks to libcppa&#39;s copy-on-write</span>
a1-&gt;enqueue(s, msg);
a2-&gt;enqueue(s, msg);
a3-&gt;enqueue(s, msg);
<span class="comment">// modify msg and send it again</span>
<span class="comment">// (msg becomes detached due to copy-on-write optimization)</span>
get_ref&lt;1&gt;(msg) = 10; <span class="comment">// msg is now { atom(&quot;compute&quot;), 10, 2, 3 }</span>
a1-&gt;enqueue(s, msg);
a2-&gt;enqueue(s, msg);
a3-&gt;enqueue(s, msg);
</pre></div><h2><a class="anchor" id="Receive"></a>
Receive messages</h2>
<p>The function <code>receive</code> takes a behavior as argument. The behavior is a list of { pattern &gt;&gt; callback } rules.</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
on&lt;atom(<span class="stringliteral">&quot;hello&quot;</span>), std::string&gt;() &gt;&gt; [](<span class="keyword">const</span> std::string&amp; msg)
{
cout &lt;&lt; <span class="stringliteral">&quot;received hello message: &quot;</span> &lt;&lt; msg &lt;&lt; endl;
},
on&lt;atom(<span class="stringliteral">&quot;compute&quot;</span>), int, int, <span class="keywordtype">int</span>&gt;() &gt;&gt; [](<span class="keywordtype">int</span> i0, <span class="keywordtype">int</span> i1, <span class="keywordtype">int</span> i2)
{
<span class="comment">// send our result back to the sender of this messages</span>
reply(atom(<span class="stringliteral">&quot;result&quot;</span>), i0 + i1 + i2);
}
);
</pre></div><p>The function <code>on</code> creates a pattern. It provides two ways of defining patterns: either by template parameters (prefixed by up to four atoms) or by arguments. The first way matches for types only (exept for the prefixing atoms). The second way compares values. Use the template function <code>val</code> to match for the type only.</p>
<p>This example is equivalent to the previous one but uses the second way to define patterns:</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
on(atom(<span class="stringliteral">&quot;hello&quot;</span>), val&lt;std::string&gt;()) &gt;&gt; [](<span class="keyword">const</span> std::string&amp; msg)
{
cout &lt;&lt; <span class="stringliteral">&quot;received hello message: &quot;</span> &lt;&lt; msg &lt;&lt; endl;
},
on(atom(<span class="stringliteral">&quot;compute&quot;</span>), val&lt;int&gt;(), val&lt;int&gt;(), val&lt;int&gt;()&gt;() &gt;&gt; [](<span class="keywordtype">int</span> i0, <span class="keywordtype">int</span> i1, <span class="keywordtype">int</span> i2)
{
<span class="comment">// send our result back to the sender of this messages</span>
reply(atom(<span class="stringliteral">&quot;result&quot;</span>), i0 + i1 + i2);
}
);
</pre></div><h2><a class="anchor" id="Atoms"></a>
Atoms</h2>
<p>Atoms are a nice way to add semantic informations to a message. Assuming an actor wants to provide a "math sevice" for integers. It could provide operations such as addition, subtraction, etc. This operations all have two operands. Thus, the actor does not know what operation the sender of a message wanted by receiving just two integers.</p>
<p>Example actor: </p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> math_actor()
{
<a class="code" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39" title="Receives messages in an endless loop.">receive_loop</a>
(
on&lt;atom(<span class="stringliteral">&quot;plus&quot;</span>), <span class="keywordtype">int</span>, <span class="keywordtype">int</span>&gt;() &gt;&gt; [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)
{
reply(atom(<span class="stringliteral">&quot;result&quot;</span>), a + b);
},
on&lt;atom(<span class="stringliteral">&quot;minus&quot;</span>), int, <span class="keywordtype">int</span>&gt;() &gt;&gt; [](<span class="keywordtype">int</span> a, <span class="keywordtype">int</span> b)
{
reply(atom(<span class="stringliteral">&quot;result&quot;</span>), a - b);
}
);
}
</pre></div><h2><a class="anchor" id="ReceiveLoops"></a>
Receive loops</h2>
<p>Previous examples using <code>receive</code> create behavior on-the-fly. This is inefficient in a loop since the argument passed to receive is created in each iteration again. Its possible to store the behavior in a variable and pass that variable to receive. This fixes the issue of re-creation each iteration but rips apart definition and usage.</p>
<p>There are three convenience function implementing receive loops to declare patterns and behavior where they belong without unnecessary copies: <code>receive_loop</code>, <code>receive_while</code> and <code>do_receive</code>.</p>
<p><code>receive_loop</code> is analogous to <code>receive</code> and loops "forever" (until the actor finishes execution).</p>
<p><code>receive_while</code> creates a functor evaluating a lambda expression. The loop continues until the given returns false. A simple example:</p>
<div class="fragment"><pre class="fragment"> <span class="comment">// receive two ints</span>
vector&lt;int&gt; received_values;
<a class="code" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7" title="Receives messages as long as stmt returns true.">receive_while</a>([&amp;]() { <span class="keywordflow">return</span> received_values.size() &lt; 2; })
(
on&lt;int&gt;() &gt;&gt; [](<span class="keywordtype">int</span> value)
{
received_values.push_back(value);
}
);
<span class="comment">// ...</span>
</pre></div><p><code>do_receive</code> returns a functor providing the function <code>until</code> that takes a lambda expression. The loop continues until the given lambda returns true. Example:</p>
<div class="fragment"><pre class="fragment"> <span class="comment">// receive ints until zero was received</span>
vector&lt;int&gt; received_values;
<a class="code" href="namespacecppa.html#ab33b8657e1fdb052219c271a198c1854" title="Receives messages until stmt returns true.">do_receive</a>
(
on&lt;int&gt;() &gt;&gt; [](<span class="keywordtype">int</span> value)
{
received_values.push_back(value);
}
)
.until([&amp;]() { <span class="keywordflow">return</span> received_values.back() == 0 });
<span class="comment">// ...</span>
</pre></div><h2><a class="anchor" id="FutureSend"></a>
Send delayed messages</h2>
<p>The function <code>future_send</code> provides a simple way to delay a message. This is particularly useful for recurring events, e.g., periodical polling. Usage example:</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="namespacecppa.html#af9614d93dea8b994164ebe41d8b1c940" title="Sends a message to whom that is delayed by rel_time.">future_send</a>(<span class="keyword">self</span>(), std::chrono::seconds(1), atom(<span class="stringliteral">&quot;poll&quot;</span>));
<a class="code" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39" title="Receives messages in an endless loop.">receive_loop</a>
(
<span class="comment">// ...</span>
on&lt;atom(<span class="stringliteral">&quot;poll&quot;</span>)&gt;() &gt;&gt; []()
{
<span class="comment">// ... poll something ...</span>
<span class="comment">// and do it again after 1sec</span>
<a class="code" href="namespacecppa.html#af9614d93dea8b994164ebe41d8b1c940" title="Sends a message to whom that is delayed by rel_time.">future_send</a>(<span class="keyword">self</span>(), std::chrono::seconds(1), atom(<span class="stringliteral">&quot;poll&quot;</span>));
}
);
</pre></div> </div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Receive messages</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Receive messages</div> </div>
</div>
<div class="contents">
<h2><a class="anchor" id="UsingOwnTypes"></a>
Using own types in messages</h2>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Fri Nov 11 2011 14:28:52 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Serialization of custom data types.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">Serialization of custom data types.</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Technology-independent deserialization interface. <a href="classcppa_1_1deserializer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Technology-independent serialization interface. <a href="classcppa_1_1serializer.html#details">More...</a><br/></td></tr>
</table>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 14 2011 20:51:15 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: libcppa&#39;s platform-independent type system.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">libcppa's platform-independent type system.</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Technology-independent deserialization interface. <a href="classcppa_1_1deserializer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An union container for primitive data types. <a href="classcppa_1_1primitive__variant.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Technology-independent serialization interface. <a href="classcppa_1_1serializer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a platform independent type name and a (very primitive) kind of reflection in combination with <a class="el" href="classcppa_1_1object.html">object</a>. <a href="classcppa_1_1uniform__type__info.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">cppa::primitive_type</a> { <br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081">cppa::pt_int8</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542">cppa::pt_int16</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a">cppa::pt_int32</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7">cppa::pt_int64</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e">cppa::pt_uint8</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786">cppa::pt_uint16</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a">cppa::pt_uint32</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59">cppa::pt_uint64</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61">cppa::pt_float</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc">cppa::pt_double</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d">cppa::pt_long_double</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e">cppa::pt_u8string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e">cppa::pt_u16string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce">cppa::pt_u32string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b">cppa::pt_null</a>
<br/>
}</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga7f73c466e0356b08161d77769aeb726f">cppa::announce</a> (const std::type_info &amp;tinfo, uniform_type_info *utype)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class C , class Parent , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::pair&lt; C Parent::*, <br class="typebreak"/>
util::abstract_uniform_type_info<br class="typebreak"/>
&lt; C &gt; * &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga14b48aea5fb9e90bcf0a4bda12f3072c">cppa::compound_member</a> (C Parent::*c_ptr, const Args &amp;...args)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#gacb2a06b208db48f0c7c79740702e7e61">cppa::announce</a> (const Args &amp;...args)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga5d1de7bc77d88156d0e12e373ab2c613">cppa::primitive_type_name</a> (<a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> ptype)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga22a8f475d1b708c6d70598370ba92d8f">get</a> (const primitive_variant &amp;pv)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga933cd1117131023bed7812fa237a42fd">get_ref</a> (primitive_variant &amp;pv)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;primitive_type PT&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">const T &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga744d167a0282d4cb873c665bc2326b4c">get_ref</a> (const primitive_variant &amp;pv)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><code>libcppa</code> provides a fully network transparent communication between actors. Thus, <code>libcppa</code> needs to serialize and deserialize message objects. Unfortunately, this is not possible using the C++ RTTI system.</p>
<p>Since it is not possible to extend <code>std::type_info</code>, <code>libcppa</code> uses its own type abstraction: <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>.</p>
<p>Unlike <code>std::type_info::name()</code>, <a class="el" href="classcppa_1_1uniform__type__info.html#a2691e562da3909c199070181d01ec068">uniform_type_info::name()</a> is guaranteed to return the same name on all supported platforms. Furthermore, it allows to create an instance of a type by name:</p>
<div class="fragment"><pre class="fragment"> <span class="comment">// creates a signed, 32 bit integer</span>
<a class="code" href="classcppa_1_1object.html" title="An abstraction class that stores an instance of an announced type.">cppa::object</a> i = cppa::uniform_type_info::by_name(<span class="stringliteral">&quot;@i32&quot;</span>)-&gt;create();
</pre></div><p>However, you should rarely if ever need to use <a class="el" href="classcppa_1_1object.html">object</a> or <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a>.</p>
<p>There is one exception, though, where you need to care about <code>libcppa</code>'s type system: using custom data types in messages. The source code below compiles fine, but crashes with an exception during runtime.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &quot;cppa/cppa.hpp&quot;</span>
<span class="keyword">using namespace </span>cppa;
<span class="keyword">struct </span>foo { <span class="keywordtype">int</span> a; <span class="keywordtype">int</span> b; };
<span class="keywordtype">int</span> main()
{
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(<span class="keyword">self</span>(), foo{1,2});
<span class="keywordflow">return</span> 0;
}
</pre></div><p>Depending on your platform, the error message looks somewhat like this:</p>
<p><code> terminate called after throwing an instance of 'std::runtime_error' <br/>
what(): uniform_type_info::by_type_info(): foo is an unknown typeid name </code></p>
<p>The user-defined struct <code>foo</code> is not known by the <code>libcppa</code> type system. Thus, <code>libcppa</code> is unable to serialize/deserialize <code>foo</code> and rejects it.</p>
<p>Fortunately, there is an easy way to add <code>foo</code> the type system, without needing to implement serialize/deserialize by yourself:</p>
<div class="fragment"><pre class="fragment"> cppa::announce&lt;foo&gt;(&amp;foo::a, &amp;foo::b);
</pre></div><p><a class="el" href="group___type_system.html#ga7f73c466e0356b08161d77769aeb726f">announce()</a> takes the class as template parameter and pointers to all members (or getter/setter pairs) as arguments. This works for all primitive data types and STL compliant containers. See the announce <a class="el" href="announce_example_1_8cpp-example.html">example 1</a>, <a class="el" href="announce_example_2_8cpp-example.html">example 2</a>, <a class="el" href="announce_example_3_8cpp-example.html">example 3</a> and <a class="el" href="announce_example_4_8cpp-example.html">example 4</a> for more details.</p>
<p>Obviously, there are limitations. If your class does implement an unsupported data structure, you have to implement serialize/deserialize by yourself. <a class="el" href="announce_example_5_8cpp-example.html">Example 5</a> shows, how to announce a tree data structure to the <code>libcppa</code> type system. </p>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga5a8afa49a3547b610d4a50b3ab1dceb6"></a><!-- doxytag: member="cppa::primitive_variant::primitive_type" ref="ga5a8afa49a3547b610d4a50b3ab1dceb6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Represents a type flag of <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a>. </p>
<p>Includes integers (signed and unsigned), floating points and unicode strings (std::string, std::u16string and std::u32string). </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081"></a><!-- doxytag: member="pt_int8" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081" args="" -->pt_int8</em>&nbsp;</td><td>
<p>equivalent of <code>std::int8_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542"></a><!-- doxytag: member="pt_int16" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542" args="" -->pt_int16</em>&nbsp;</td><td>
<p>equivalent of <code>std::int16_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a"></a><!-- doxytag: member="pt_int32" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a" args="" -->pt_int32</em>&nbsp;</td><td>
<p>equivalent of <code>std::int32_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7"></a><!-- doxytag: member="pt_int64" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7" args="" -->pt_int64</em>&nbsp;</td><td>
<p>equivalent of <code>std::int64_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e"></a><!-- doxytag: member="pt_uint8" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e" args="" -->pt_uint8</em>&nbsp;</td><td>
<p>equivalent of <code>std::uint8_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786"></a><!-- doxytag: member="pt_uint16" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786" args="" -->pt_uint16</em>&nbsp;</td><td>
<p>equivalent of <code>std::uint16_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a"></a><!-- doxytag: member="pt_uint32" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a" args="" -->pt_uint32</em>&nbsp;</td><td>
<p>equivalent of <code>std::uint32_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59"></a><!-- doxytag: member="pt_uint64" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59" args="" -->pt_uint64</em>&nbsp;</td><td>
<p>equivalent of <code>std::uint64_t</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61"></a><!-- doxytag: member="pt_float" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61" args="" -->pt_float</em>&nbsp;</td><td>
<p>equivalent of <code>float</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc"></a><!-- doxytag: member="pt_double" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc" args="" -->pt_double</em>&nbsp;</td><td>
<p>equivalent of <code>double</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d"></a><!-- doxytag: member="pt_long_double" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d" args="" -->pt_long_double</em>&nbsp;</td><td>
<p>equivalent of <code>long double</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e"></a><!-- doxytag: member="pt_u8string" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e" args="" -->pt_u8string</em>&nbsp;</td><td>
<p>equivalent of <code>std::string</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e"></a><!-- doxytag: member="pt_u16string" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e" args="" -->pt_u16string</em>&nbsp;</td><td>
<p>equivalent of <code>std::u16string</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce"></a><!-- doxytag: member="pt_u32string" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce" args="" -->pt_u32string</em>&nbsp;</td><td>
<p>equivalent of <code>std::u32string</code> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b"></a><!-- doxytag: member="pt_null" ref="gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b" args="" -->pt_null</em>&nbsp;</td><td>
<p>equivalent of <code>void</code> </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga7f73c466e0356b08161d77769aeb726f"></a><!-- doxytag: member="cppa::announce" ref="ga7f73c466e0356b08161d77769aeb726f" args="(const std::type_info &amp;tinfo, uniform_type_info *utype)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::announce </td>
<td>(</td>
<td class="paramtype">const std::type_info &amp;&#160;</td>
<td class="paramname"><em>tinfo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uniform_type_info *&#160;</td>
<td class="paramname"><em>utype</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adds a new type mapping to the libcppa type system. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">tinfo</td><td>C++ RTTI for the new type </td></tr>
<tr><td class="paramname">utype</td><td>Corresponding <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> instance. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>uniform_type</code> was added as known instance (mapped to <code>plain_type</code>); otherwise <code>false</code> is returned and <code>uniform_type</code> was deleted. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_5_8cpp-example.html#a14">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacb2a06b208db48f0c7c79740702e7e61"></a><!-- doxytag: member="cppa::announce" ref="gacb2a06b208db48f0c7c79740702e7e61" args="(const Args &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool cppa::announce </td>
<td>(</td>
<td class="paramtype">const Args &amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adds a new type mapping for <code>T</code> to the libcppa type system. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Members of <code>T</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>T</code> was added to the libcppa type system; otherwise <code>false</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga14b48aea5fb9e90bcf0a4bda12f3072c"></a><!-- doxytag: member="cppa::compound_member" ref="ga14b48aea5fb9e90bcf0a4bda12f3072c" args="(C Parent::*c_ptr, const Args &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class C , class Parent , typename... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">std::pair&lt;C Parent::*, util::abstract_uniform_type_info&lt;C&gt;*&gt; cppa::compound_member </td>
<td>(</td>
<td class="paramtype">C Parent::*&#160;</td>
<td class="paramname"><em>c_ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Args &amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates meta informations for a non-trivial member <code>C</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">c_ptr</td><td>Pointer to the non-trivial member. </td></tr>
<tr><td class="paramname">args</td><td>"Sub-members" of <code>c_ptr</code> </td></tr>
</table>
</dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="announce_example_4_8cpp-example.html">announce example 4</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pair of <code>c_ptr</code> and the created meta informations. </dd></dl>
</div>
</div>
<a class="anchor" id="ga22a8f475d1b708c6d70598370ba92d8f"></a><!-- doxytag: member="cppa::primitive_variant::get" ref="ga22a8f475d1b708c6d70598370ba92d8f" args="(const primitive_variant &amp;pv)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">const T &amp; get </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>pv</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Casts a primitive variant to its C++ type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pv</td><td>A primitive variant of type <code>T</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the value of <code>pv</code> of type <code>T</code>. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">&lt;tt&gt;std::logic_error&lt;/tt&gt;</td><td>if <code>pv</code> is not of type <code>T</code>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga933cd1117131023bed7812fa237a42fd"></a><!-- doxytag: member="cppa::primitive_variant::get_ref" ref="ga933cd1117131023bed7812fa237a42fd" args="(primitive_variant &amp;pv)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">T &amp; get_ref </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>pv</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Casts a non-const primitive variant to its C++ type. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pv</td><td>A primitive variant of type <code>T</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A reference to the value of <code>pv</code> of type <code>T</code>. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">&lt;tt&gt;std::logic_error&lt;/tt&gt;</td><td>if <code>pv</code> is not of type <code>T</code>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga744d167a0282d4cb873c665bc2326b4c"></a><!-- doxytag: member="cppa::primitive_variant::get_ref" ref="ga744d167a0282d4cb873c665bc2326b4c" args="(const primitive_variant &amp;pv)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;primitive_type PT&gt; </div>
<table class="memname">
<tr>
<td class="memname">const T &amp; get_ref </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a> &amp;&#160;</td>
<td class="paramname"><em>pv</em></td><td>)</td>
<td><code> [related]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Casts a primitive variant to its C++ type. </p>
<dl><dt><b>Template Parameters:</b></dt><dd>
<table class="">
<tr><td class="paramname">T</td><td>C++ type equivalent of <code>PT</code>. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">pv</td><td>A primitive variant of type <code>T</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the value of <code>pv</code> of type <code>T</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ga5d1de7bc77d88156d0e12e373ab2c613"></a><!-- doxytag: member="cppa::primitive_type_name" ref="ga5d1de7bc77d88156d0e12e373ab2c613" args="(primitive_type ptype)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">constexpr const char* cppa::primitive_type_name </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a>&#160;</td>
<td class="paramname"><em>ptype</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Maps a <a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6" title="Represents a type flag of primitive_variant.">primitive_type</a> value to its name. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">ptype</td><td>Requestet <code>primitive_type</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A C-string representation of <code>ptype</code>. </dd></dl>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div>
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><ul>
<li><a class="el" href="classcppa_1_1util_1_1comparable.html">cppa::util::comparable&lt; intrusive_ptr&lt; T &gt; &gt;</a><ul>
<li><a class="el" href="classcppa_1_1intrusive__ptr.html">cppa::intrusive_ptr&lt; T &gt;</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1util_1_1comparable.html">cppa::util::comparable&lt; intrusive_ptr&lt; T &gt;, const T * &gt;</a><ul>
<li><a class="el" href="classcppa_1_1intrusive__ptr.html">cppa::intrusive_ptr&lt; T &gt;</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1util_1_1comparable.html">cppa::util::comparable&lt; process_information &gt;</a><ul>
<li><a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1any__tuple.html">cppa::any_tuple</a></li>
<li><a class="el" href="structcppa_1_1anything.html">cppa::anything</a></li>
<li><a class="el" href="classcppa_1_1attachable.html">cppa::attachable</a></li>
<li><a class="el" href="classcppa_1_1cow__ptr.html">cppa::cow_ptr&lt; T &gt;</a></li>
<li><a class="el" href="classcppa_1_1deserializer.html">cppa::deserializer</a></li>
<li><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; Base &gt;</a></li>
<li><a class="el" href="classcppa_1_1exception.html">cppa::exception</a><ul>
<li><a class="el" href="classcppa_1_1actor__exited.html">cppa::actor_exited</a></li>
<li><a class="el" href="classcppa_1_1network__error.html">cppa::network_error</a><ul>
<li><a class="el" href="classcppa_1_1bind__failure.html">cppa::bind_failure</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1group_1_1module.html">cppa::group::module</a></li>
<li><a class="el" href="classcppa_1_1invoke__rules__base.html">cppa::invoke_rules_base</a><ul>
<li><a class="el" href="classcppa_1_1invoke__rules.html">cppa::invoke_rules</a></li>
<li><a class="el" href="classcppa_1_1timed__invoke__rules.html">cppa::timed_invoke_rules</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1object.html">cppa::object</a></li>
<li><a class="el" href="classcppa_1_1primitive__variant.html">cppa::primitive_variant</a></li>
<li><a class="el" href="classcppa_1_1ref__counted.html">cppa::ref_counted</a><ul>
<li><a class="el" href="classcppa_1_1channel.html">cppa::channel</a><ul>
<li><a class="el" href="classcppa_1_1actor.html">cppa::actor</a><ul>
<li><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; actor &gt;</a><ul>
<li><a class="el" href="classcppa_1_1actor__proxy.html">cppa::actor_proxy</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1local__actor.html">cppa::local_actor</a><ul>
<li><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">cppa::detail::abstract_actor&lt; local_actor &gt;</a><ul>
<li><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">cppa::detail::converted_thread_context</a></li>
<li><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">cppa::detail::scheduled_actor</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1group.html">cppa::group</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1message__queue.html">cppa::message_queue</a></li>
<li><a class="el" href="classcppa_1_1process__information.html">cppa::process_information</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1serializer.html">cppa::serializer</a></li>
<li><a class="el" href="classcppa_1_1tuple.html">cppa::tuple&lt; ElementTypes &gt;</a></li>
<li><a class="el" href="classcppa_1_1tuple__view.html">cppa::tuple_view&lt; ElementTypes &gt;</a></li>
<li><a class="el" href="classcppa_1_1uniform__type__info.html">cppa::uniform_type_info</a><ul>
<li><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; List &gt;</a></li>
<li><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; Map &gt;</a></li>
<li><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; std::pair&lt; T1, T2 &gt; &gt;</a></li>
<li><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">cppa::util::abstract_uniform_type_info&lt; T &gt;</a></li>
</ul>
</li>
<li><a class="el" href="classcppa_1_1util_1_1comparable.html">cppa::util::comparable&lt; Subclass, T &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1eval__type__list.html">cppa::util::eval_type_list&lt; List, What &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">cppa::util::eval_type_lists&lt; ListA, ListB, What &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1if__else__c.html">cppa::util::if_else_c&lt; IfStmt, T, Else &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1is__array__of.html">cppa::util::is_array_of&lt; T, U &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1is__primitive.html">cppa::util::is_primitive&lt; T &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1pt__token.html">cppa::util::pt_token&lt; PT &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1rm__ref.html">cppa::util::rm_ref&lt; T &gt;</a></li>
<li><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">cppa::util::single_reader_queue&lt; T &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1type__list__apply.html">cppa::util::type_list_apply&lt; List, What &gt;</a></li>
<li><a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">cppa::util::upgrade_lock_guard&lt; UpgradeLockable &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1if__else__c.html">cppa::util::if_else_c&lt; PT==pt_int8, std::int8_t, util::if_else_c&lt; PT==pt_int16, std::int16_t, util::if_else_c&lt; PT==pt_int32, std::int32_t, util::if_else_c&lt; PT==pt_int64, std::int64_t, util::if_else_c&lt; PT==pt_uint8, std::uint8_t, util::if_else_c&lt; PT==pt_uint16, std::uint16_t, util::if_else_c&lt; PT==pt_uint32, std::uint32_t, util::if_else_c&lt; PT==pt_uint64, std::uint64_t, util::if_else_c&lt; PT==pt_float, float, util::if_else_c&lt; PT==pt_double, double, util::if_else_c&lt; PT==pt_long_double, long double, util::if_else_c&lt; PT==pt_u8string, std::string, util::if_else_c&lt; PT==pt_u16string, std::u16string, util::if_else_c&lt; PT==pt_u32string, std::u32string, util::wrapped&lt; void &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt;</a></li>
<li><a class="el" href="structcppa_1_1util_1_1if__else__c.html">cppa::util::if_else_c&lt; Stmt::value, T, Else &gt;</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: libcppa</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">libcppa </div> </div>
</div>
<div class="contents">
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>Dominik Charousset &lt;dominik.charousset (at) haw-hamburg.de&gt;</dd></dl>
<h2><a class="anchor" id="Intro"></a>
Introduction</h2>
<p>This library provides an implementation of the actor model for C++. It uses a network transparent messaging system to ease development of both concurrent and distributed software using C++.</p>
<p><code>libcppa</code> uses a thread pool to schedule actors by default. A scheduled actor should not call blocking functions. Individual actors can be spawned (created) with a special flag to run in an own thread if one needs to make use of blocking APIs.</p>
<p>Writing applications in <code>libcppa</code> requires a minimum of gluecode. You don't have to derive a particular class to implement an actor and each context <em>is</em> an actor. Even main is implicitly converted to an actor if needed, as the following example shows:</p>
<p>It's recommended to read at least the <a class="el" href="group___message_handling.html">message handling</a> section of this documentation.</p>
<h3><a class="anchor" id="IntroHelloWorld"></a>
Hello World Example</h3>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;string&gt;</span>
<span class="preprocessor">#include &lt;iostream&gt;</span>
<span class="preprocessor">#include &quot;cppa/cppa.hpp&quot;</span>
<span class="keyword">using namespace </span>cppa;
<span class="keywordtype">void</span> echo_actor()
{
<span class="comment">// wait for a message</span>
<a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
<span class="comment">// invoke this lambda expression if we receive a string</span>
on&lt;std::string&gt;() &gt;&gt; [](<span class="keyword">const</span> std::string&amp; what)
{
<span class="comment">// prints &quot;Hello World!&quot;</span>
std::cout &lt;&lt; what &lt;&lt; std::endl;
<span class="comment">// replies &quot;!dlroW olleH&quot;</span>
reply(std::string(what.rbegin(), what.rend()));
}
);
}
<span class="keywordtype">int</span> main()
{
<span class="comment">// create a new actor that invokes the function echo_actor</span>
<span class="keyword">auto</span> hello_actor = <a class="code" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753" title="Spawns a new actor that executes what with given arguments.">spawn</a>(echo_actor);
<span class="comment">// send &quot;Hello World!&quot; to our new actor</span>
<span class="comment">// note: libcppa converts string literals to std::string objects</span>
<a class="code" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f" title="Sends a message to whom.">send</a>(hello_actor, <span class="stringliteral">&quot;Hello World!&quot;</span>);
<span class="comment">// wait for a response and print it</span>
<a class="code" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78" title="Dequeues the next message from the mailbox.">receive</a>
(
on&lt;std::string&gt;() &gt;&gt; [](<span class="keyword">const</span> std::string&amp; what)
{
<span class="comment">// prints &quot;!dlroW olleH&quot;</span>
std::cout &lt;&lt; what &lt;&lt; std::endl;
}
);
<span class="comment">// wait until all other actors we&#39;ve spawned are done</span>
<a class="code" href="namespacecppa.html#a185090573ffb146384ccdfa94172c23e" title="Blocks execution of this actor until all other actors finished execution.">await_all_others_done</a>();
<span class="comment">// done</span>
<span class="keywordflow">return</span> 0;
}
</pre></div><h2><a class="anchor" id="GettingStarted"></a>
Getting Started</h2>
<p>To build <code>libcppa</code>, you need <code>GCC &gt;= 4.6</code>, <code>Automake</code> and the <code>Boost.Thread</code> library.</p>
<p>The usual build steps on Linux and Mac OS X are:</p>
<ul>
<li><code>autoreconf -i</code></li>
<li><code>./configure</code></li>
<li><code>make</code></li>
<li><code>make install</code> (as root, optionally)</li>
</ul>
<p>Use <code>./configure --help</code> if the script doesn't auto-select the correct <code>GCC</code> binary or doesn't find your <code>Boost.Thread</code> installation.</p>
<p>Windows is not supported yet, because MVSC++ doesn't implement the C++11 features needed to compile <code>libcppa</code>. </p>
</div></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:05 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
/*
* jQuery JavaScript Library v1.3.2
* http://jquery.com/
*
* Copyright (c) 2009 John Resig
* Dual licensed under the MIT and GPL licenses.
* http://docs.jquery.com/License
*
* Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
* Revision: 6246
*/
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){
var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
* Sizzle CSS Selector Engine - v0.9.3
* Copyright 2009, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/
*/
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0)
{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function()
{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
/*
* jQuery UI 1.7.2
*
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI
*/
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/* * jQuery UI Resizable 1.7.2
*
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI/Resizables
*
* Depends:
* ui.core.js
*/
(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0))
{s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;
/**
* jQuery.ScrollTo - Easy element scrolling using jQuery.
* Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
* Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php).
* Date: 2/8/2008
* @author Ariel Flesler
* @version 1.3.2
*/
;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Modules</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Modules</div> </div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all modules:</div><ul>
<li><a class="el" href="group___copy_on_write.html">Copy-on-write optimization.</a></li>
<li><a class="el" href="group___implicit_conversion.html">Implicit type conversions.</a></li>
<li><a class="el" href="group___message_handling.html">Message handling.</a></li>
<li><a class="el" href="group___type_system.html">libcppa's platform-independent type system.</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">cppa Namespace Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa_1_1detail.html">detail</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa_1_1util.html">util</a></td></tr>
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor.html">actor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for all actor implementations. <a href="classcppa_1_1actor.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__proxy.html">actor_proxy</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a remote Actor. <a href="classcppa_1_1actor__proxy.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes a fixed-length tuple with elements of any type. <a href="classcppa_1_1any__tuple.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1anything.html">anything</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Acts as wildcard pattern. <a href="structcppa_1_1anything.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1attachable.html">attachable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback utility class. <a href="classcppa_1_1attachable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1channel.html">channel</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for all message receivers. <a href="classcppa_1_1channel.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1cow__ptr.html">cow_ptr</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A copy-on-write smart pointer implementation. <a href="classcppa_1_1cow__ptr.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1deserializer.html">deserializer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Technology-independent deserialization interface. <a href="classcppa_1_1deserializer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1exception.html">exception</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for libcppa exceptions. <a href="classcppa_1_1exception.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Thrown if an actor finished execution. <a href="classcppa_1_1actor__exited.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1network__error.html">network_error</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Thrown to indicate that either an actor publishing failed or <code>libcppa</code> was unable to connect to a remote host. <a href="classcppa_1_1network__error.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1bind__failure.html">bind_failure</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Thrown to indicate that an actor publishing failed because the requested port could not be used. <a href="classcppa_1_1bind__failure.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1group.html">group</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A multicast group. <a href="classcppa_1_1group.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An intrusive, reference counting smart pointer impelementation. <a href="classcppa_1_1intrusive__ptr.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1invoke__rules__base.html">invoke_rules_base</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base of <a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> and <a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a>. <a href="classcppa_1_1invoke__rules__base.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke rules with timeout. <a href="classcppa_1_1timed__invoke__rules.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke rules without timeout. <a href="classcppa_1_1invoke__rules.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1local__actor.html">local_actor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for local running Actors. <a href="classcppa_1_1local__actor.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1message__queue.html">message_queue</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A message queue with many-writers-single-reader semantics. <a href="classcppa_1_1message__queue.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1object.html">object</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstraction class that stores an instance of an announced type. <a href="classcppa_1_1object.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1primitive__variant.html">primitive_variant</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An union container for primitive data types. <a href="classcppa_1_1primitive__variant.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1process__information.html">process_information</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Identifies a process. <a href="classcppa_1_1process__information.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1ref__counted.html">ref_counted</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A (thread safe) base class for reference counted objects with an atomic reference count. <a href="classcppa_1_1ref__counted.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1serializer.html">serializer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Technology-independent serialization interface. <a href="classcppa_1_1serializer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple.html">tuple</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A fixed-length copy-on-write tuple. <a href="classcppa_1_1tuple.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1tuple__view.html">tuple_view</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes a view of an fixed-length tuple. <a href="classcppa_1_1tuple__view.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a platform independent type name and a (very primitive) kind of reflection in combination with <a class="el" href="classcppa_1_1object.html">object</a>. <a href="classcppa_1_1uniform__type__info.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1actor.html">actor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1channel.html">channel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt; <a class="el" href="classcppa_1_1group.html">group</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">group_ptr</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a><br class="typebreak"/>
&lt; <a class="el" href="classcppa_1_1process__information.html">process_information</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a6176abcec9771fe0a6138290da091614">process_information_ptr</a></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> { <br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081">pt_int8</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542">pt_int16</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a">pt_int32</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7">pt_int64</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e">pt_uint8</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786">pt_uint16</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a">pt_uint32</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59">pt_uint64</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61">pt_float</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc">pt_double</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d">pt_long_double</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e">pt_u8string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e">pt_u16string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce">pt_u32string</a>,
<br/>
&#160;&#160;<a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b">pt_null</a>
<br/>
}</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga7f73c466e0356b08161d77769aeb726f">announce</a> (const std::type_info &amp;tinfo, <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> *utype)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class C , class Parent , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::pair&lt; C Parent::*, <br class="typebreak"/>
<a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">util::abstract_uniform_type_info</a><br class="typebreak"/>
&lt; C &gt; * &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga14b48aea5fb9e90bcf0a4bda12f3072c">compound_member</a> (C Parent::*c_ptr, const Args &amp;...args)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___type_system.html#gacb2a06b208db48f0c7c79740702e7e61">announce</a> (const Args &amp;...args)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a9e7557ff340fa02f2f78b532b194ac21">link</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ab8c28b313afac4c3b57fd7f8a313a8be">link</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#abef16f0abef844ebdd6e8cd81e3a930b">link</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;lhs, <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;rhs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a54bddc724c9631970191b4ce6f63fc7b">link</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;lhs, <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;rhs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a0c450b7cf4aea8b79db07cdf12baf629">link</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;lhs, <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;rhs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a229ed18ab979977260f149c506bee8e6">link</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;lhs, <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;rhs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a11da441df170b1fd2be8c0f59a5b8629">unlink</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;lhs, <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;rhs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a4470d5b5bec5d0deea0323528771cb58">monitor</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;whom)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a3c65f644d84360ecdccbf8f7ac7e154c">monitor</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;whom)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a5f0757ffe3547628495f4a7da1aa8315">demonitor</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;whom)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ab20ad3b11e61b6e96ad31de50b3f48fe">trap_exit</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#acfd89dec7115156e6736a6bfb1839bee">trap_exit</a> (bool new_value)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;scheduling_hint Hint, typename F , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753">spawn</a> (F &amp;&amp;what, const Args &amp;...args)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename F , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a71d0d9e09f96e840758bf6f31d51d86a">spawn</a> (F &amp;&amp;what, const Args &amp;...args)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a7cd61e78b141f059c8b141be8078ea2c">quit</a> (std::uint32_t reason)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39">receive_loop</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;rules)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#aa0f04d175a14b774c9a5201f130be1ed">receive_loop</a> (<a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> &amp;rules)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a45c4202ce315545053790e9aec69648c">receive_loop</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;&amp;rules)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a5140a13e0215586fcd7d9b19f59c7e72">receive_loop</a> (<a class="el" href="classcppa_1_1timed__invoke__rules.html">timed_invoke_rules</a> &amp;&amp;rules)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Head , typename... Tail&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#aa25af65bd3b125c1998f9315a05e7e93">receive_loop</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;rules, Head &amp;&amp;head, Tail &amp;&amp;...tail)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Head , typename... Tail&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ac7759600d1a2cf10bc79f82562b23c24">receive_loop</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;&amp;rules, Head &amp;&amp;head, Tail &amp;&amp;...tail)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Statement &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::receive_while_helper<br class="typebreak"/>
&lt; Statement &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7">receive_while</a> (Statement &amp;&amp;stmt)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">detail::do_receive_helper&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ab33b8657e1fdb052219c271a198c1854">do_receive</a> (Args &amp;&amp;...args)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#abf2fc4e0570df2765d49fd80cee410c9">last_received</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a3b6e02734828ebd94a68aee3835c8f56">last_sender</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Arg0 , typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f">send</a> (<a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a> &amp;whom, const Arg0 &amp;arg0, const Args &amp;...args)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#aff8551e0f35f938ac26882c298b31400">operator&lt;&lt;</a> (<a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a> &amp;whom, const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;what)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Duration , typename... Data&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#af9614d93dea8b994164ebe41d8b1c940">future_send</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> whom, const Duration &amp;rel_time, const Data &amp;...data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a185090573ffb146384ccdfa94172c23e">await_all_others_done</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a285a14e0fd3bfba6ae4a219e6d6e8801">publish</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;whom, std::uint16_t port)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a48a89a4c584bf16f4a0d6ab268f3c044">publish</a> (<a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> &amp;&amp;whom, std::uint16_t port)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a76739f7f372b92999ee9b80d332093bd">remote_actor</a> (const char *host, std::uint16_t port)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcppa_1_1local__actor.html">local_actor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a605f2b8f8c17199ad06baa052af5db04">self</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">constexpr const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___type_system.html#ga5d1de7bc77d88156d0e12e373ab2c613">primitive_type_name</a> (<a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> ptype)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ae513a4af5ba142920badf49904f26af7">to_string</a> (const process_information::node_id_type &amp;node_id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78">receive</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a08446050fef44597c4d3267489f9cf3e">receive</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;rules)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#ab0aa12c2a2684bc65b900031d7881acd">try_receive</a> (<a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a> &amp;msg)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a9228d84b85526e4a12e133aa4268b2f7">try_receive</a> (<a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a> &amp;rules)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a9fd959a7ff3c017ded6b64ee72dcec97">set_scheduler</a> (scheduler *sched)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">scheduler *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a438040c204e8dc7819cd7ca9bd661eec">get_scheduler</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa.html#a601985961b1a9a8bbb73119d95fdb24a">to_string</a> (const T &amp;what)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This is the root namespace of libcppa. </p>
<p>Thie <b>cppa</b> namespace contains all functions and classes to implement Actor based applications. </p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aa911b41078aff43f355b1d64dc4b7475"></a><!-- doxytag: member="cppa::actor_ptr" ref="aa911b41078aff43f355b1d64dc4b7475" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1actor.html">actor</a>&gt; <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">cppa::actor_ptr</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A smart pointer type that manages instances of <a class="el" href="classcppa_1_1actor.html">actor</a>. </p>
</div>
</div>
<a class="anchor" id="a0ac06fc2f69fb1021d95310238161c4e"></a><!-- doxytag: member="cppa::channel_ptr" ref="a0ac06fc2f69fb1021d95310238161c4e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1channel.html">channel</a>&gt; <a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">cppa::channel_ptr</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A smart pointer type that manages instances of <a class="el" href="classcppa_1_1channel.html">channel</a>. </p>
</div>
</div>
<a class="anchor" id="a60ee2cb32752d31e00d020c6cb7362e2"></a><!-- doxytag: member="cppa::group_ptr" ref="a60ee2cb32752d31e00d020c6cb7362e2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1group.html">group</a>&gt; <a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">cppa::group_ptr</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A smart pointer type that manages instances of <a class="el" href="classcppa_1_1group.html">group</a>. </p>
</div>
</div>
<a class="anchor" id="a6176abcec9771fe0a6138290da091614"></a><!-- doxytag: member="cppa::process_information_ptr" ref="a6176abcec9771fe0a6138290da091614" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classcppa_1_1intrusive__ptr.html">intrusive_ptr</a>&lt;<a class="el" href="classcppa_1_1process__information.html">process_information</a>&gt; <a class="el" href="namespacecppa.html#a6176abcec9771fe0a6138290da091614">cppa::process_information_ptr</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A smart pointer type that manages instances of <a class="el" href="classcppa_1_1process__information.html">process_information</a>. </p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a185090573ffb146384ccdfa94172c23e"></a><!-- doxytag: member="cppa::await_all_others_done" ref="a185090573ffb146384ccdfa94172c23e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::await_all_others_done </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Blocks execution of this actor until all other actors finished execution. </p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>This function will cause a deadlock if called from multiple actors. </dd></dl>
</div>
</div>
<a class="anchor" id="a5f0757ffe3547628495f4a7da1aa8315"></a><!-- doxytag: member="cppa::demonitor" ref="a5f0757ffe3547628495f4a7da1aa8315" args="(actor_ptr &amp;whom)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::demonitor </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>whom</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Removes a monitor from <code>whom</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Monitored Actor. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab33b8657e1fdb052219c271a198c1854"></a><!-- doxytag: member="cppa::do_receive" ref="ab33b8657e1fdb052219c271a198c1854" args="(Args &amp;&amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">detail::do_receive_helper cppa::do_receive </td>
<td>(</td>
<td class="paramtype">Args &amp;&amp;...&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages until <code>stmt</code> returns true. </p>
<p>Semantically equal to: <code>do { receive(...); } while (stmt() == false);</code></p>
<p><b>Usage example:</b> </p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> i = 0;
<a class="code" href="namespacecppa.html#ab33b8657e1fdb052219c271a198c1854" title="Receives messages until stmt returns true.">do_receive</a>
(
on&lt;int&gt;() &gt;&gt; int_fun,
on&lt;float&gt;() &gt;&gt; float_fun
)
.until([&amp;]() { <span class="keywordflow">return</span> (++i &gt;= 10); };
</pre></div> <dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">args</td><td>Invoke rules to handle received messages. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A functor providing the <code>until</code> member function. </dd></dl>
</div>
</div>
<a class="anchor" id="af9614d93dea8b994164ebe41d8b1c940"></a><!-- doxytag: member="cppa::future_send" ref="af9614d93dea8b994164ebe41d8b1c940" args="(actor_ptr whom, const Duration &amp;rel_time, const Data &amp;...data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Duration , typename... Data&gt; </div>
<table class="memname">
<tr>
<td class="memname">void cppa::future_send </td>
<td>(</td>
<td class="paramtype">actor_ptr&#160;</td>
<td class="paramname"><em>whom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Duration &amp;&#160;</td>
<td class="paramname"><em>rel_time</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Data &amp;...&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sends a message to <code>whom</code> that is delayed by <code>rel_time</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Receiver of the message. </td></tr>
<tr><td class="paramname">rel_time</td><td>Relative time duration to delay the message. </td></tr>
<tr><td class="paramname">data</td><td>Any number of values for the message content. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a438040c204e8dc7819cd7ca9bd661eec"></a><!-- doxytag: member="cppa::get_scheduler" ref="a438040c204e8dc7819cd7ca9bd661eec" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">scheduler* cppa::get_scheduler </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the actual used scheduler implementation. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The active scheduler (usually default constructed). </dd></dl>
</div>
</div>
<a class="anchor" id="abf2fc4e0570df2765d49fd80cee410c9"></a><!-- doxytag: member="cppa::last_received" ref="abf2fc4e0570df2765d49fd80cee410c9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a>&amp; cppa::last_received </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the last dequeued message from the mailbox. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The last dequeued message from the mailbox. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_4_8cpp-example.html#a2">announce_example_4.cpp</a>, and <a class="el" href="announce_example_5_8cpp-example.html#a17">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3b6e02734828ebd94a68aee3835c8f56"></a><!-- doxytag: member="cppa::last_sender" ref="a3b6e02734828ebd94a68aee3835c8f56" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a>&amp; cppa::last_sender </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the sender of the last received message. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> to the sender of the last received message. </dd></dl>
</div>
</div>
<a class="anchor" id="a9e7557ff340fa02f2f78b532b194ac21"></a><!-- doxytag: member="cppa::link" ref="a9e7557ff340fa02f2f78b532b194ac21" args="(actor_ptr &amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::link </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links the calling actor to <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>An Actor that is related with the calling Actor. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab8c28b313afac4c3b57fd7f8a313a8be"></a><!-- doxytag: member="cppa::link" ref="ab8c28b313afac4c3b57fd7f8a313a8be" args="(actor_ptr &amp;&amp;other)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::link </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links the calling actor to <code>other</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>An Actor that is related with the calling Actor. </td></tr>
</table>
</dd>
</dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="abef16f0abef844ebdd6e8cd81e3a930b"></a><!-- doxytag: member="cppa::link" ref="abef16f0abef844ebdd6e8cd81e3a930b" args="(actor_ptr &amp;lhs, actor_ptr &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::link </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links <code>lhs</code> and <code>rhs</code>;. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>First Actor instance. </td></tr>
<tr><td class="paramname">rhs</td><td>Second Actor instance. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>lhs != rhs</code> </dd></dl>
</div>
</div>
<a class="anchor" id="a54bddc724c9631970191b4ce6f63fc7b"></a><!-- doxytag: member="cppa::link" ref="a54bddc724c9631970191b4ce6f63fc7b" args="(actor_ptr &amp;&amp;lhs, actor_ptr &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::link </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links <code>lhs</code> and <code>rhs</code>;. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>First Actor instance. </td></tr>
<tr><td class="paramname">rhs</td><td>Second Actor instance. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>lhs != rhs</code> </dd></dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a0c450b7cf4aea8b79db07cdf12baf629"></a><!-- doxytag: member="cppa::link" ref="a0c450b7cf4aea8b79db07cdf12baf629" args="(actor_ptr &amp;&amp;lhs, actor_ptr &amp;&amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::link </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links <code>lhs</code> and <code>rhs</code>;. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>First Actor instance. </td></tr>
<tr><td class="paramname">rhs</td><td>Second Actor instance. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>lhs != rhs</code> </dd></dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a229ed18ab979977260f149c506bee8e6"></a><!-- doxytag: member="cppa::link" ref="a229ed18ab979977260f149c506bee8e6" args="(actor_ptr &amp;lhs, actor_ptr &amp;&amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::link </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Links <code>lhs</code> and <code>rhs</code>;. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">lhs</td><td>First Actor instance. </td></tr>
<tr><td class="paramname">rhs</td><td>Second Actor instance. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>lhs != rhs</code> </dd></dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a4470d5b5bec5d0deea0323528771cb58"></a><!-- doxytag: member="cppa::monitor" ref="a4470d5b5bec5d0deea0323528771cb58" args="(actor_ptr &amp;whom)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::monitor </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>whom</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adds a monitor to <code>whom</code>. </p>
<p>Sends a ":Down" message to the calling Actor if <code>whom</code> exited. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Actor instance that should be monitored by the calling Actor. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3c65f644d84360ecdccbf8f7ac7e154c"></a><!-- doxytag: member="cppa::monitor" ref="a3c65f644d84360ecdccbf8f7ac7e154c" args="(actor_ptr &amp;&amp;whom)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::monitor </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>whom</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Adds a monitor to <code>whom</code>. </p>
<p>Sends a ":Down" message to the calling Actor if <code>whom</code> exited. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Actor instance that should be monitored by the calling Actor. </td></tr>
</table>
</dd>
</dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="aff8551e0f35f938ac26882c298b31400"></a><!-- doxytag: member="cppa::operator&lt;&lt;" ref="aff8551e0f35f938ac26882c298b31400" args="(channel_ptr &amp;whom, const any_tuple &amp;what)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">channel_ptr</a>&amp; cppa::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">channel_ptr &amp;&#160;</td>
<td class="paramname"><em>whom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const any_tuple &amp;&#160;</td>
<td class="paramname"><em>what</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Send a message to <code>whom</code>. </p>
<p><b>Usage example:</b> </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">self</span>() &lt;&lt; make_tuple(1, 2, 3);
</pre></div><p>Sends the tuple <code>what</code> as a message to <code>whom</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Receiver of the message. </td></tr>
<tr><td class="paramname">what</td><td>Content of the message. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>whom</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="a285a14e0fd3bfba6ae4a219e6d6e8801"></a><!-- doxytag: member="cppa::publish" ref="a285a14e0fd3bfba6ae4a219e6d6e8801" args="(actor_ptr &amp;whom, std::uint16_t port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::publish </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>whom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint16_t&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Publishes <code>whom</code> at given <code>port</code>. </p>
<p>The connection is automatically closed if the lifetime of <code>whom</code> ends. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Actor that should be published at given <code>port</code>. </td></tr>
<tr><td class="paramname">port</td><td>Unused TCP port. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcppa_1_1bind__failure.html" title="Thrown to indicate that an actor publishing failed because the requested port could not be used...">bind_failure</a></td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a48a89a4c584bf16f4a0d6ab268f3c044"></a><!-- doxytag: member="cppa::publish" ref="a48a89a4c584bf16f4a0d6ab268f3c044" args="(actor_ptr &amp;&amp;whom, std::uint16_t port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::publish </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&amp;&#160;</td>
<td class="paramname"><em>whom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint16_t&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Publishes <code>whom</code> at given <code>port</code>. </p>
<p>The connection is automatically closed if the lifetime of <code>whom</code> ends. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Actor that should be published at given <code>port</code>. </td></tr>
<tr><td class="paramname">port</td><td>Unused TCP port. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcppa_1_1bind__failure.html" title="Thrown to indicate that an actor publishing failed because the requested port could not be used...">bind_failure</a></td><td></td></tr>
</table>
</dd>
</dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a7cd61e78b141f059c8b141be8078ea2c"></a><!-- doxytag: member="cppa::quit" ref="a7cd61e78b141f059c8b141be8078ea2c" args="(std::uint32_t reason)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::quit </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>reason</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Finishes execution of this actor. </p>
<p>Cause this actor to send an exit signal to all of its linked actors, sets its state to <code>exited</code> and throws <a class="el" href="classcppa_1_1actor__exited.html">actor_exited</a> to cleanup the stack. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">reason</td><td>Exit reason that will be send to linked actors. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classcppa_1_1actor__exited.html" title="Thrown if an actor finished execution.">actor_exited</a></td><td></td></tr>
</table>
</dd>
</dl>
<p>Alias for <code><a class="el" href="namespacecppa.html#a605f2b8f8c17199ad06baa052af5db04" title="Get a pointer to the current active context.">self()</a>-&gt;quit(reason);</code> </p>
</div>
</div>
<a class="anchor" id="ad070b8b4e3991e430c653f96b5717c78"></a><!-- doxytag: member="cppa::receive" ref="ad070b8b4e3991e430c653f96b5717c78" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classcppa_1_1any__tuple.html">any_tuple</a>&amp; cppa::receive </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Dequeues the next message from the mailbox. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_2_8cpp-example.html#a1">announce_example_2.cpp</a>, and <a class="el" href="announce_example_3_8cpp-example.html#a1">announce_example_3.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a08446050fef44597c4d3267489f9cf3e"></a><!-- doxytag: member="cppa::receive" ref="a08446050fef44597c4d3267489f9cf3e" args="(invoke_rules &amp;rules)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::receive </td>
<td>(</td>
<td class="paramtype">invoke_rules &amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Dequeues the next message from the mailbox that's matched by <code>rules</code> and executes the corresponding callback. </p>
</div>
</div>
<a class="anchor" id="a6728e2b69360dda2a561753bcb742b39"></a><!-- doxytag: member="cppa::receive_loop" ref="a6728e2b69360dda2a561753bcb742b39" args="(invoke_rules &amp;rules)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::receive_loop </td>
<td>(</td>
<td class="paramtype">invoke_rules &amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages in an endless loop. </p>
<p>Semantically equal to: <code>for (;;) { receive(rules); }</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rules</td><td>Invoke rules to receive and handle messages. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa0f04d175a14b774c9a5201f130be1ed"></a><!-- doxytag: member="cppa::receive_loop" ref="aa0f04d175a14b774c9a5201f130be1ed" args="(timed_invoke_rules &amp;rules)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::receive_loop </td>
<td>(</td>
<td class="paramtype">timed_invoke_rules &amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages in an endless loop. </p>
<p>Semantically equal to: <code>for (;;) { receive(rules); }</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rules</td><td>Invoke rules to receive and handle messages. </td></tr>
</table>
</dd>
</dl>
Support for invoke rules with timeout. </p>
</div>
</div>
<a class="anchor" id="a45c4202ce315545053790e9aec69648c"></a><!-- doxytag: member="cppa::receive_loop" ref="a45c4202ce315545053790e9aec69648c" args="(invoke_rules &amp;&amp;rules)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::receive_loop </td>
<td>(</td>
<td class="paramtype">invoke_rules &amp;&amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages in an endless loop. </p>
<p>Semantically equal to: <code>for (;;) { receive(rules); }</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rules</td><td>Invoke rules to receive and handle messages. </td></tr>
</table>
</dd>
</dl>
Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a5140a13e0215586fcd7d9b19f59c7e72"></a><!-- doxytag: member="cppa::receive_loop" ref="a5140a13e0215586fcd7d9b19f59c7e72" args="(timed_invoke_rules &amp;&amp;rules)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::receive_loop </td>
<td>(</td>
<td class="paramtype">timed_invoke_rules &amp;&amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages in an endless loop. </p>
<p>Semantically equal to: <code>for (;;) { receive(rules); }</code> </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">rules</td><td>Invoke rules to receive and handle messages. </td></tr>
</table>
</dd>
</dl>
Support for rvalue references and timeout. </p>
</div>
</div>
<a class="anchor" id="aa25af65bd3b125c1998f9315a05e7e93"></a><!-- doxytag: member="cppa::receive_loop" ref="aa25af65bd3b125c1998f9315a05e7e93" args="(invoke_rules &amp;rules, Head &amp;&amp;head, Tail &amp;&amp;...tail)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Head , typename... Tail&gt; </div>
<table class="memname">
<tr>
<td class="memname">void cppa::receive_loop </td>
<td>(</td>
<td class="paramtype">invoke_rules &amp;&#160;</td>
<td class="paramname"><em>rules</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Head &amp;&amp;&#160;</td>
<td class="paramname"><em>head</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Tail &amp;&amp;...&#160;</td>
<td class="paramname"><em>tail</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages in an endless loop. </p>
<p>This function overload provides a simple way to define a receive loop with on-the-fly <a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a>.</p>
<p><b>Example:</b> </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39" title="Receives messages in an endless loop.">receive_loop</a>(on&lt;int&gt;() &gt;&gt; int_fun, on&lt;float&gt;() &gt;&gt; float_fun);
</pre></div> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39" title="Receives messages in an endless loop.">receive_loop(invoke_rules&amp;)</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ac7759600d1a2cf10bc79f82562b23c24"></a><!-- doxytag: member="cppa::receive_loop" ref="ac7759600d1a2cf10bc79f82562b23c24" args="(invoke_rules &amp;&amp;rules, Head &amp;&amp;head, Tail &amp;&amp;...tail)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Head , typename... Tail&gt; </div>
<table class="memname">
<tr>
<td class="memname">void cppa::receive_loop </td>
<td>(</td>
<td class="paramtype">invoke_rules &amp;&amp;&#160;</td>
<td class="paramname"><em>rules</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Head &amp;&amp;&#160;</td>
<td class="paramname"><em>head</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Tail &amp;&amp;...&#160;</td>
<td class="paramname"><em>tail</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages in an endless loop. </p>
<p>This function overload provides a simple way to define a receive loop with on-the-fly <a class="el" href="classcppa_1_1invoke__rules.html">invoke_rules</a>.</p>
<p><b>Example:</b> </p>
<div class="fragment"><pre class="fragment"> <a class="code" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39" title="Receives messages in an endless loop.">receive_loop</a>(on&lt;int&gt;() &gt;&gt; int_fun, on&lt;float&gt;() &gt;&gt; float_fun);
</pre></div> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="namespacecppa.html#a6728e2b69360dda2a561753bcb742b39" title="Receives messages in an endless loop.">receive_loop(invoke_rules&amp;)</a></dd></dl>
<p>Support for rvalue references. </p>
</div>
</div>
<a class="anchor" id="a04248d8185833939eccbf45a0598fff7"></a><!-- doxytag: member="cppa::receive_while" ref="a04248d8185833939eccbf45a0598fff7" args="(Statement &amp;&amp;stmt)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Statement &gt; </div>
<table class="memname">
<tr>
<td class="memname">detail::receive_while_helper&lt;Statement&gt; cppa::receive_while </td>
<td>(</td>
<td class="paramtype">Statement &amp;&amp;&#160;</td>
<td class="paramname"><em>stmt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Receives messages as long as <code>stmt</code> returns true. </p>
<p>Semantically equal to: <code>while (stmt()) { receive(...); }</code>.</p>
<p><b>Usage example:</b> </p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> i = 0;
<a class="code" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7" title="Receives messages as long as stmt returns true.">receive_while</a>([&amp;]() { <span class="keywordflow">return</span> (++i &lt;= 10); })
(
on&lt;int&gt;() &gt;&gt; int_fun,
on&lt;float&gt;() &gt;&gt; float_fun
);
</pre></div> <dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">stmt</td><td>Lambda expression, functor or function returning a <code>bool</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A functor implementing the loop. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_1_8cpp-example.html#a1">announce_example_1.cpp</a>, <a class="el" href="announce_example_4_8cpp-example.html#a1">announce_example_4.cpp</a>, and <a class="el" href="announce_example_5_8cpp-example.html#a16">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a76739f7f372b92999ee9b80d332093bd"></a><!-- doxytag: member="cppa::remote_actor" ref="a76739f7f372b92999ee9b80d332093bd" args="(const char *host, std::uint16_t port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> cppa::remote_actor </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint16_t&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Establish a new connection to the actor at <code>host</code> on given <code>port</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>Valid hostname or IP address. </td></tr>
<tr><td class="paramname">port</td><td>TCP port. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the proxy instance that represents the remote Actor. </dd></dl>
</div>
</div>
<a class="anchor" id="a605f2b8f8c17199ad06baa052af5db04"></a><!-- doxytag: member="cppa::self" ref="a605f2b8f8c17199ad06baa052af5db04" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcppa_1_1local__actor.html">local_actor</a>* cppa::self </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Get a pointer to the current active context. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer that identifies the calling actor. </dd></dl>
</div>
</div>
<a class="anchor" id="a1e0690c8df96f321e39dd8cac1269e7f"></a><!-- doxytag: member="cppa::send" ref="a1e0690c8df96f321e39dd8cac1269e7f" args="(channel_ptr &amp;whom, const Arg0 &amp;arg0, const Args &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Arg0 , typename... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname">void cppa::send </td>
<td>(</td>
<td class="paramtype">channel_ptr &amp;&#160;</td>
<td class="paramname"><em>whom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Arg0 &amp;&#160;</td>
<td class="paramname"><em>arg0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Args &amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sends a message to <code>whom</code>. </p>
<p>Sends the tuple <code>{ arg0, args... }</code> as a message to <code>whom</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">whom</td><td>Receiver of the message. </td></tr>
<tr><td class="paramname">arg0</td><td>First value for the message content. </td></tr>
<tr><td class="paramname">args</td><td>Any number of values for the message content. </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="announce_example_1_8cpp-example.html#a0">announce_example_1.cpp</a>, <a class="el" href="announce_example_2_8cpp-example.html#a0">announce_example_2.cpp</a>, <a class="el" href="announce_example_3_8cpp-example.html#a0">announce_example_3.cpp</a>, <a class="el" href="announce_example_4_8cpp-example.html#a0">announce_example_4.cpp</a>, and <a class="el" href="announce_example_5_8cpp-example.html#a15">announce_example_5.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9fd959a7ff3c017ded6b64ee72dcec97"></a><!-- doxytag: member="cppa::set_scheduler" ref="a9fd959a7ff3c017ded6b64ee72dcec97" args="(scheduler *sched)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::set_scheduler </td>
<td>(</td>
<td class="paramtype">scheduler *&#160;</td>
<td class="paramname"><em>sched</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the scheduler to <code>sched</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">sched</td><td>A user-defined scheduler implementation. </td></tr>
</table>
</dd>
</dl>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><code>sched != nullptr</code>. </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>if there's already a scheduler defined. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a4dbdefa108d37aaaf224a716016c3753"></a><!-- doxytag: member="cppa::spawn" ref="a4dbdefa108d37aaaf224a716016c3753" args="(F &amp;&amp;what, const Args &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;scheduling_hint Hint, typename F , typename... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> cppa::spawn </td>
<td>(</td>
<td class="paramtype">F &amp;&amp;&#160;</td>
<td class="paramname"><em>what</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Args &amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Spawns a new actor that executes <code>what</code> with given arguments. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">Hint</td><td>Hint to the scheduler for the best scheduling strategy. </td></tr>
<tr><td class="paramname">what</td><td>Function or functor that the spawned Actor should execute. </td></tr>
<tr><td class="paramname">args</td><td>Arguments needed to invoke <code>what</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the newly created <a class="el" href="classcppa_1_1actor.html">Actor</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="a71d0d9e09f96e840758bf6f31d51d86a"></a><!-- doxytag: member="cppa::spawn" ref="a71d0d9e09f96e840758bf6f31d51d86a" args="(F &amp;&amp;what, const Args &amp;...args)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename F , typename... Args&gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">actor_ptr</a> cppa::spawn </td>
<td>(</td>
<td class="paramtype">F &amp;&amp;&#160;</td>
<td class="paramname"><em>what</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Args &amp;...&#160;</td>
<td class="paramname"><em>args</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Alias for <code>spawn&lt;scheduled&gt;(what, args...)</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what</td><td>Function or functor that the spawned Actor should execute. </td></tr>
<tr><td class="paramname">args</td><td>Arguments needed to invoke <code>what</code>. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the newly created <a class="el" href="classcppa_1_1actor.html">Actor</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="a601985961b1a9a8bbb73119d95fdb24a"></a><!-- doxytag: member="cppa::to_string" ref="a601985961b1a9a8bbb73119d95fdb24a" args="(const T &amp;what)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::string cppa::to_string </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>what</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Serializes a value to a string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">what</td><td>A value of an announced type. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string representation of <code>what</code>. </dd></dl>
</div>
</div>
<a class="anchor" id="ae513a4af5ba142920badf49904f26af7"></a><!-- doxytag: member="cppa::to_string" ref="ae513a4af5ba142920badf49904f26af7" args="(const process_information::node_id_type &amp;node_id)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string cppa::to_string </td>
<td>(</td>
<td class="paramtype">const process_information::node_id_type &amp;&#160;</td>
<td class="paramname"><em>node_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Converts <a class="el" href="">node_id</a> to an hexadecimal string. </p>
</div>
</div>
<a class="anchor" id="ab20ad3b11e61b6e96ad31de50b3f48fe"></a><!-- doxytag: member="cppa::trap_exit" ref="ab20ad3b11e61b6e96ad31de50b3f48fe" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::trap_exit </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the <code>trap_exit</code> state of the calling Actor. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the Actor explicitly handles Exit messages; <code>false</code> if the Actor uses the default behavior (finish execution if an Exit message with non-normal exit reason was received). </dd></dl>
</div>
</div>
<a class="anchor" id="acfd89dec7115156e6736a6bfb1839bee"></a><!-- doxytag: member="cppa::trap_exit" ref="acfd89dec7115156e6736a6bfb1839bee" args="(bool new_value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::trap_exit </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>new_value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the <code>trap_exit</code> state of the calling Actor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">new_value</td><td>Set this to <code>true</code> if you want to explicitly handle Exit messages. The default is <code>false</code>, causing an Actor to finish execution if an Exit message with non-normal exit reason was received. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab0aa12c2a2684bc65b900031d7881acd"></a><!-- doxytag: member="cppa::try_receive" ref="ab0aa12c2a2684bc65b900031d7881acd" args="(any_tuple &amp;msg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::try_receive </td>
<td>(</td>
<td class="paramtype">any_tuple &amp;&#160;</td>
<td class="paramname"><em>msg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to dequeue the next message from the mailbox. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if a messages was dequeued; <code>false</code> if the mailbox is empty </dd></dl>
</div>
</div>
<a class="anchor" id="a9228d84b85526e4a12e133aa4268b2f7"></a><!-- doxytag: member="cppa::try_receive" ref="a9228d84b85526e4a12e133aa4268b2f7" args="(invoke_rules &amp;rules)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool cppa::try_receive </td>
<td>(</td>
<td class="paramtype">invoke_rules &amp;&#160;</td>
<td class="paramname"><em>rules</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tries to dequeue the next message from the mailbox. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if a messages was dequeued; <code>false</code> if the mailbox is empty </dd></dl>
</div>
</div>
<a class="anchor" id="a11da441df170b1fd2be8c0f59a5b8629"></a><!-- doxytag: member="cppa::unlink" ref="a11da441df170b1fd2be8c0f59a5b8629" args="(actor_ptr &amp;lhs, actor_ptr &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void cppa::unlink </td>
<td>(</td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">actor_ptr &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Unlinks <code>lhs</code> and <code>rhs</code>;. </p>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::detail Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">cppa::detail Namespace Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1detail_1_1abstract__actor.html">abstract_actor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements. <a href="classcppa_1_1detail_1_1abstract__actor.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1detail_1_1converted__thread__context.html">converted_thread_context</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents a thread that was converted to an Actor. <a href="classcppa_1_1detail_1_1converted__thread__context.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1detail_1_1scheduled__actor.html">scheduled_actor</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A spawned, scheduled Actor. <a href="classcppa_1_1detail_1_1scheduled__actor.html#details">More...</a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This namespace contains implementation details. Classes and functions of this namespace could change even in minor updates of the library and should not be used by outside of libcppa. </p>
</div></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">cppa::util Namespace Reference</div> </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1abstract__uniform__type__info.html">abstract_uniform_type_info</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements all pure virtual functions of <a class="el" href="classcppa_1_1uniform__type__info.html">uniform_type_info</a> except <a class="el" href="classcppa_1_1uniform__type__info.html#a49feca24516d39c1ecaae1801403941e" title="Serializes instance to sink.">serialize()</a> and <a class="el" href="classcppa_1_1uniform__type__info.html#a1841b5f6ef66723792e2639b306569bb" title="Deserializes an object of this type from source.">deserialize()</a>. <a href="classcppa_1_1util_1_1abstract__uniform__type__info.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1comparable.html">comparable</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Barton–Nackman trick implementation. <a href="classcppa_1_1util_1_1comparable.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1eval__type__list.html">eval_type_list</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply <code>What</code> to each element of <code>List</code>. <a href="structcppa_1_1util_1_1eval__type__list.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">eval_type_lists</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply <code>What</code> to each element of <code>List</code>. <a href="structcppa_1_1util_1_1eval__type__lists.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1if__else__c.html">if_else_c</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">A conditinal expression for types that allows nested statements (unlike std::conditional). <a href="structcppa_1_1util_1_1if__else__c.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1is__array__of.html">is_array_of</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>is_array_of&lt;T,U&gt;::value == true</code> if and only if T is an array of U. <a href="structcppa_1_1util_1_1is__array__of.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1is__primitive.html">is_primitive</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates to <code>true</code> if <code>T</code> is a primitive type. <a href="structcppa_1_1util_1_1is__primitive.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1pt__token.html">pt_token</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Achieves static call dispatch (int-to-type idiom). <a href="structcppa_1_1util_1_1pt__token.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1rm__ref.html">rm_ref</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like std::remove_reference but prohibits void and also removes const references. <a href="structcppa_1_1util_1_1rm__ref.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1single__reader__queue.html">single_reader_queue</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">An intrusive, thread safe queue implementation. <a href="classcppa_1_1util_1_1single__reader__queue.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcppa_1_1util_1_1type__list__apply.html">type_list_apply</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply <code>What</code> to each element of <code>List</code>. <a href="structcppa_1_1util_1_1type__list__apply.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppa_1_1util_1_1upgrade__lock__guard.html">upgrade_lock_guard</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Upgrades shared ownership to exclusive ownership. <a href="classcppa_1_1util_1_1upgrade__lock__guard.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename Fun &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecppa_1_1util.html#a38dc2b1191c41a94d3cc2b02471a6782">pt_dispatch</a> (<a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a> ptype, Fun &amp;&amp;f)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This namespace contains utility classes and meta programming utilities used by the libcppa implementation. </p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a38dc2b1191c41a94d3cc2b02471a6782"></a><!-- doxytag: member="cppa::util::pt_dispatch" ref="a38dc2b1191c41a94d3cc2b02471a6782" args="(primitive_type ptype, Fun &amp;&amp;f)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Fun &gt; </div>
<table class="memname">
<tr>
<td class="memname">void cppa::util::pt_dispatch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___type_system.html#ga5a8afa49a3547b610d4a50b3ab1dceb6">primitive_type</a>&#160;</td>
<td class="paramname"><em>ptype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Fun &amp;&amp;&#160;</td>
<td class="paramname"><em>f</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Creates a <a class="el" href="structcppa_1_1util_1_1pt__token.html">pt_token</a> from the runtime value <code>ptype</code> and invokes <code>f</code> with this token. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>Does nothing if ptype == pt_null. </dd></dl>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
<li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_q"><span>q</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div>
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>actor_ptr
: <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">cppa</a>
</li>
<li>announce()
: <a class="el" href="group___type_system.html#ga7f73c466e0356b08161d77769aeb726f">cppa</a>
</li>
<li>await_all_others_done()
: <a class="el" href="namespacecppa.html#a185090573ffb146384ccdfa94172c23e">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>channel_ptr
: <a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">cppa</a>
</li>
<li>compound_member()
: <a class="el" href="group___type_system.html#ga14b48aea5fb9e90bcf0a4bda12f3072c">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>demonitor()
: <a class="el" href="namespacecppa.html#a5f0757ffe3547628495f4a7da1aa8315">cppa</a>
</li>
<li>do_receive()
: <a class="el" href="namespacecppa.html#ab33b8657e1fdb052219c271a198c1854">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>future_send()
: <a class="el" href="namespacecppa.html#af9614d93dea8b994164ebe41d8b1c940">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>get_scheduler()
: <a class="el" href="namespacecppa.html#a438040c204e8dc7819cd7ca9bd661eec">cppa</a>
</li>
<li>group_ptr
: <a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>last_received()
: <a class="el" href="namespacecppa.html#abf2fc4e0570df2765d49fd80cee410c9">cppa</a>
</li>
<li>last_sender()
: <a class="el" href="namespacecppa.html#a3b6e02734828ebd94a68aee3835c8f56">cppa</a>
</li>
<li>link()
: <a class="el" href="namespacecppa.html#a0c450b7cf4aea8b79db07cdf12baf629">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>monitor()
: <a class="el" href="namespacecppa.html#a4470d5b5bec5d0deea0323528771cb58">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>operator&lt;&lt;()
: <a class="el" href="namespacecppa.html#aff8551e0f35f938ac26882c298b31400">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>primitive_type_name()
: <a class="el" href="group___type_system.html#ga5d1de7bc77d88156d0e12e373ab2c613">cppa</a>
</li>
<li>process_information_ptr
: <a class="el" href="namespacecppa.html#a6176abcec9771fe0a6138290da091614">cppa</a>
</li>
<li>pt_dispatch()
: <a class="el" href="namespacecppa_1_1util.html#a38dc2b1191c41a94d3cc2b02471a6782">cppa::util</a>
</li>
<li>pt_double
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc">cppa</a>
</li>
<li>pt_float
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61">cppa</a>
</li>
<li>pt_int16
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542">cppa</a>
</li>
<li>pt_int32
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a">cppa</a>
</li>
<li>pt_int64
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7">cppa</a>
</li>
<li>pt_int8
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081">cppa</a>
</li>
<li>pt_long_double
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d">cppa</a>
</li>
<li>pt_null
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b">cppa</a>
</li>
<li>pt_u16string
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e">cppa</a>
</li>
<li>pt_u32string
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce">cppa</a>
</li>
<li>pt_u8string
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e">cppa</a>
</li>
<li>pt_uint16
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786">cppa</a>
</li>
<li>pt_uint32
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a">cppa</a>
</li>
<li>pt_uint64
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59">cppa</a>
</li>
<li>pt_uint8
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e">cppa</a>
</li>
<li>publish()
: <a class="el" href="namespacecppa.html#a285a14e0fd3bfba6ae4a219e6d6e8801">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>quit()
: <a class="el" href="namespacecppa.html#a7cd61e78b141f059c8b141be8078ea2c">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>receive()
: <a class="el" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78">cppa</a>
</li>
<li>receive_loop()
: <a class="el" href="namespacecppa.html#aa0f04d175a14b774c9a5201f130be1ed">cppa</a>
</li>
<li>receive_while()
: <a class="el" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7">cppa</a>
</li>
<li>remote_actor()
: <a class="el" href="namespacecppa.html#a76739f7f372b92999ee9b80d332093bd">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>self()
: <a class="el" href="namespacecppa.html#a605f2b8f8c17199ad06baa052af5db04">cppa</a>
</li>
<li>send()
: <a class="el" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f">cppa</a>
</li>
<li>set_scheduler()
: <a class="el" href="namespacecppa.html#a9fd959a7ff3c017ded6b64ee72dcec97">cppa</a>
</li>
<li>spawn()
: <a class="el" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>to_string()
: <a class="el" href="namespacecppa.html#ae513a4af5ba142920badf49904f26af7">cppa</a>
</li>
<li>trap_exit()
: <a class="el" href="namespacecppa.html#acfd89dec7115156e6736a6bfb1839bee">cppa</a>
</li>
<li>try_receive()
: <a class="el" href="namespacecppa.html#a9228d84b85526e4a12e133aa4268b2f7">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>unlink()
: <a class="el" href="namespacecppa.html#a11da441df170b1fd2be8c0f59a5b8629">cppa</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="namespacemembers.html"><span>All</span></a></li>
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
<li class="current"><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>primitive_type
: <a class="el" href="namespacecppa.html#ae380a1603f22d9a459599f733f6b0bab">cppa</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 14 2011 21:16:51 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="namespacemembers.html"><span>All</span></a></li>
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
<li class="current"><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>pt_double
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a840b02ba715ef3b798d3f1b6cb1dd1bc">cppa</a>
</li>
<li>pt_float
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a9c2885b0dd3095de04714bf6d791ed61">cppa</a>
</li>
<li>pt_int16
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6abe2fbca2e1841f8c22880cde2c00f542">cppa</a>
</li>
<li>pt_int32
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6aa0a3077bf98838f8565a3081bd45fe7a">cppa</a>
</li>
<li>pt_int64
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6adb00d323a0719b09a9b1e2b296bf7ee7">cppa</a>
</li>
<li>pt_int8
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6af3b4cd07f6e7b784ef327226d125f081">cppa</a>
</li>
<li>pt_long_double
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6afaa2282a22514a0934a3571b4e4cc75d">cppa</a>
</li>
<li>pt_null
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a494ed640f1e094e7db23a9ce2f3f199b">cppa</a>
</li>
<li>pt_u16string
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ab2a366dcc7a5b7ee1162fd024d6f722e">cppa</a>
</li>
<li>pt_u32string
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac04250078e159cbbb285ad3a39aae4ce">cppa</a>
</li>
<li>pt_u8string
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a93531ba3275cbc0a4cfcb23a6bbe080e">cppa</a>
</li>
<li>pt_uint16
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6ac2fefdb86c724a8fccdaf77295bdb786">cppa</a>
</li>
<li>pt_uint32
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a081be63f60008807f9a07df1d814704a">cppa</a>
</li>
<li>pt_uint64
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a05e7b1ff7b99a9f24ff8a44577745d59">cppa</a>
</li>
<li>pt_uint8
: <a class="el" href="group___type_system.html#gga5a8afa49a3547b610d4a50b3ab1dceb6a88cb8022596d4673fede279849a67c9e">cppa</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="namespacemembers.html"><span>All</span></a></li>
<li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
<li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_q"><span>q</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;
<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
<li>announce()
: <a class="el" href="group___type_system.html#ga7f73c466e0356b08161d77769aeb726f">cppa</a>
</li>
<li>await_all_others_done()
: <a class="el" href="namespacecppa.html#a185090573ffb146384ccdfa94172c23e">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>compound_member()
: <a class="el" href="group___type_system.html#ga14b48aea5fb9e90bcf0a4bda12f3072c">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>demonitor()
: <a class="el" href="namespacecppa.html#a5f0757ffe3547628495f4a7da1aa8315">cppa</a>
</li>
<li>do_receive()
: <a class="el" href="namespacecppa.html#ab33b8657e1fdb052219c271a198c1854">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>future_send()
: <a class="el" href="namespacecppa.html#af9614d93dea8b994164ebe41d8b1c940">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>get_scheduler()
: <a class="el" href="namespacecppa.html#a438040c204e8dc7819cd7ca9bd661eec">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>last_received()
: <a class="el" href="namespacecppa.html#abf2fc4e0570df2765d49fd80cee410c9">cppa</a>
</li>
<li>last_sender()
: <a class="el" href="namespacecppa.html#a3b6e02734828ebd94a68aee3835c8f56">cppa</a>
</li>
<li>link()
: <a class="el" href="namespacecppa.html#a0c450b7cf4aea8b79db07cdf12baf629">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>monitor()
: <a class="el" href="namespacecppa.html#a4470d5b5bec5d0deea0323528771cb58">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>operator&lt;&lt;()
: <a class="el" href="namespacecppa.html#aff8551e0f35f938ac26882c298b31400">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>primitive_type_name()
: <a class="el" href="group___type_system.html#ga5d1de7bc77d88156d0e12e373ab2c613">cppa</a>
</li>
<li>pt_dispatch()
: <a class="el" href="namespacecppa_1_1util.html#a38dc2b1191c41a94d3cc2b02471a6782">cppa::util</a>
</li>
<li>publish()
: <a class="el" href="namespacecppa.html#a285a14e0fd3bfba6ae4a219e6d6e8801">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>quit()
: <a class="el" href="namespacecppa.html#a7cd61e78b141f059c8b141be8078ea2c">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>receive()
: <a class="el" href="namespacecppa.html#ad070b8b4e3991e430c653f96b5717c78">cppa</a>
</li>
<li>receive_loop()
: <a class="el" href="namespacecppa.html#aa0f04d175a14b774c9a5201f130be1ed">cppa</a>
</li>
<li>receive_while()
: <a class="el" href="namespacecppa.html#a04248d8185833939eccbf45a0598fff7">cppa</a>
</li>
<li>remote_actor()
: <a class="el" href="namespacecppa.html#a76739f7f372b92999ee9b80d332093bd">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>self()
: <a class="el" href="namespacecppa.html#a605f2b8f8c17199ad06baa052af5db04">cppa</a>
</li>
<li>send()
: <a class="el" href="namespacecppa.html#a1e0690c8df96f321e39dd8cac1269e7f">cppa</a>
</li>
<li>set_scheduler()
: <a class="el" href="namespacecppa.html#a9fd959a7ff3c017ded6b64ee72dcec97">cppa</a>
</li>
<li>spawn()
: <a class="el" href="namespacecppa.html#a4dbdefa108d37aaaf224a716016c3753">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>to_string()
: <a class="el" href="namespacecppa.html#ae513a4af5ba142920badf49904f26af7">cppa</a>
</li>
<li>trap_exit()
: <a class="el" href="namespacecppa.html#acfd89dec7115156e6736a6bfb1839bee">cppa</a>
</li>
<li>try_receive()
: <a class="el" href="namespacecppa.html#a9228d84b85526e4a12e133aa4268b2f7">cppa</a>
</li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>unlink()
: <a class="el" href="namespacecppa.html#a11da441df170b1fd2be8c0f59a5b8629">cppa</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Namespace Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="namespacemembers.html"><span>All</span></a></li>
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
<li class="current"><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
<li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&#160;<ul>
<li>actor_ptr
: <a class="el" href="namespacecppa.html#aa911b41078aff43f355b1d64dc4b7475">cppa</a>
</li>
<li>channel_ptr
: <a class="el" href="namespacecppa.html#a0ac06fc2f69fb1021d95310238161c4e">cppa</a>
</li>
<li>group_ptr
: <a class="el" href="namespacecppa.html#a60ee2cb32752d31e00d020c6cb7362e2">cppa</a>
</li>
<li>process_information_ptr
: <a class="el" href="namespacecppa.html#a6176abcec9771fe0a6138290da091614">cppa</a>
</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Namespace List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Namespace List</div> </div>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented namespaces with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="namespacecppa.html">cppa</a></td><td class="indexvalue">This is the root namespace of libcppa </td></tr>
<tr><td class="indexkey"><a class="el" href="namespacecppa_1_1detail.html">cppa::detail</a></td><td class="indexvalue">This namespace contains implementation details. Classes and functions of this namespace could change even in minor updates of the library and should not be used by outside of libcppa </td></tr>
<tr><td class="indexkey"><a class="el" href="namespacecppa_1_1util.html">cppa::util</a></td><td class="indexvalue">This namespace contains utility classes and meta programming utilities used by the libcppa implementation </td></tr>
</table>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
nav_f.png

159 Bytes

nav_h.png

97 Bytes

open.png

118 Bytes

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::anything Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1anything.html">anything</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::anything Struct Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::anything" -->
<p><code>#include &lt;anything.hpp&gt;</code></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Acts as wildcard pattern. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/anything.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1detail_1_1is__array__of.html">is_array_of</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::detail::is_array_of&lt; T, U &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1detail_1_1is__array__of.html">cppa::detail::is_array_of&lt; T, U &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 27 2011 13:02:00 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::detail::is_array_of&lt; T, U &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1detail.html">detail</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1detail_1_1is__array__of.html">is_array_of</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::detail::is_array_of&lt; T, U &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::detail::is_array_of" -->
<p><code>#include &lt;tuple.hpp&gt;</code></p>
<p><a href="structcppa_1_1detail_1_1is__array__of-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T, typename U&gt;<br/>
struct cppa::detail::is_array_of&lt; T, U &gt;</h3>
<p><code>is_array_of&lt;T,U&gt;::value == true</code> if and only if T is an array of U. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/tuple.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 27 2011 13:02:00 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1eval__type__list.html">eval_type_list</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::eval_type_list&lt; List, What &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1eval__type__list.html">cppa::util::eval_type_list&lt; List, What &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::eval_type_list&lt; List, What &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1eval__type__list.html">eval_type_list</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::eval_type_list&lt; List, What &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::eval_type_list" -->
<p><code>#include &lt;eval_type_list.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1eval__type__list-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class List, template&lt; typename &gt; class What&gt;<br/>
struct cppa::util::eval_type_list&lt; List, What &gt;</h3>
<p>Apply <code>What</code> to each element of <code>List</code>. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/eval_type_list.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">eval_type_lists</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::eval_type_lists&lt; ListA, ListB, What &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">cppa::util::eval_type_lists&lt; ListA, ListB, What &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::eval_type_lists&lt; ListA, ListB, What &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1eval__type__lists.html">eval_type_lists</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::eval_type_lists&lt; ListA, ListB, What &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::eval_type_lists" -->
<p><code>#include &lt;eval_type_lists.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1eval__type__lists-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class ListA, class ListB, template&lt; typename, typename &gt; class What&gt;<br/>
struct cppa::util::eval_type_lists&lt; ListA, ListB, What &gt;</h3>
<p>Apply <code>What</code> to each element of <code>List</code>. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/eval_type_lists.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1if__else__c.html">if_else_c</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::if_else_c&lt; IfStmt, T, Else &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1if__else__c.html">cppa::util::if_else_c&lt; IfStmt, T, Else &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::if_else_c&lt; IfStmt, T, Else &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1if__else__c.html">if_else_c</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::if_else_c&lt; IfStmt, T, Else &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::if_else_c" -->
<p><code>#include &lt;if_else.hpp&gt;</code></p>
<p>Inherited by cppa::detail::ptype_to_type&lt; PT &gt;.</p>
<p><a href="structcppa_1_1util_1_1if__else__c-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;bool IfStmt, typename T, class Else&gt;<br/>
struct cppa::util::if_else_c&lt; IfStmt, T, Else &gt;</h3>
<p>A conditinal expression for types that allows nested statements (unlike std::conditional). </p>
<p><code>type</code> is defined as <code>T</code> if <code>IfStmt == true</code>; otherwise <code>type</code> is defined as <code>Else::type</code>. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/if_else.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1is__array__of.html">is_array_of</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::is_array_of&lt; T, U &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1is__array__of.html">cppa::util::is_array_of&lt; T, U &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::is_array_of&lt; T, U &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1is__array__of.html">is_array_of</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::is_array_of&lt; T, U &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::is_array_of" -->
<p><code>#include &lt;is_array_of.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1is__array__of-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T, typename U&gt;<br/>
struct cppa::util::is_array_of&lt; T, U &gt;</h3>
<p><code>is_array_of&lt;T,U&gt;::value == true</code> if and only if T is an array of U. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/is_array_of.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1is__primitive.html">is_primitive</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::is_primitive&lt; T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1is__primitive.html">cppa::util::is_primitive&lt; T &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::is_primitive&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1is__primitive.html">is_primitive</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::is_primitive&lt; T &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::is_primitive" -->
<p><code>#include &lt;is_primitive.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1is__primitive-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct cppa::util::is_primitive&lt; T &gt;</h3>
<p>Evaluates to <code>true</code> if <code>T</code> is a primitive type. </p>
<p><code>is_primitive&lt;T&gt;::value == true</code> if and only if <code>T</code> is a signed / unsigned integer or one of the following types:</p>
<ul>
<li><code>float</code> </li>
<li><code>double</code> </li>
<li><code>long</code> <code>double</code> </li>
<li><code>std::string</code> </li>
<li><code>std::u16string</code> </li>
<li><code>std::u32string</code> </li>
</ul>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/is_primitive.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1pt__token.html">pt_token</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::pt_token&lt; PT &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1pt__token.html">cppa::util::pt_token&lt; PT &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::pt_token&lt; PT &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1pt__token.html">pt_token</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::pt_token&lt; PT &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::pt_token" -->
<p><code>#include &lt;pt_token.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1pt__token-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;primitive_type PT&gt;<br/>
struct cppa::util::pt_token&lt; PT &gt;</h3>
<p>Achieves static call dispatch (int-to-type idiom). </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/pt_token.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1rm__ref.html">rm_ref</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::rm_ref&lt; T &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1rm__ref.html">cppa::util::rm_ref&lt; T &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::rm_ref&lt; T &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1rm__ref.html">rm_ref</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::rm_ref&lt; T &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::rm_ref" -->
<p><code>#include &lt;rm_ref.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1rm__ref-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br/>
struct cppa::util::rm_ref&lt; T &gt;</h3>
<p>Like std::remove_reference but prohibits void and also removes const references. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/rm_ref.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1type__list__apply.html">type_list_apply</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::type_list_apply&lt; List, What &gt; Member List</div> </div>
</div>
<div class="contents">
This is the complete list of members for <a class="el" href="structcppa_1_1util_1_1type__list__apply.html">cppa::util::type_list_apply&lt; List, What &gt;</a>, including all inherited members.<table>
</table></div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libcppa: cppa::util::type_list_apply&lt; List, What &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">libcppa
&#160;<span id="projectnumber">Version 0.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacecppa.html">cppa</a> </li>
<li class="navelem"><a class="el" href="namespacecppa_1_1util.html">util</a> </li>
<li class="navelem"><a class="el" href="structcppa_1_1util_1_1type__list__apply.html">type_list_apply</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">cppa::util::type_list_apply&lt; List, What &gt; Struct Template Reference</div> </div>
</div>
<div class="contents">
<!-- doxytag: class="cppa::util::type_list_apply" -->
<p><code>#include &lt;type_list_apply.hpp&gt;</code></p>
<p><a href="structcppa_1_1util_1_1type__list__apply-members.html">List of all members.</a></p>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename List, template&lt; typename &gt; class What&gt;<br/>
struct cppa::util::type_list_apply&lt; List, What &gt;</h3>
<p>Apply <code>What</code> to each element of <code>List</code>. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>cppa/util/type_list_apply.hpp</li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Wed Dec 7 2011 21:57:06 for libcppa by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>
</body>
</html>
tab_a.png

140 Bytes

tab_b.png

178 Bytes

tab_h.png

192 Bytes

tab_s.png

189 Bytes

.tabs, .tabs2, .tabs3 {
background-image: url('tab_b.png');
width: 100%;
z-index: 101;
font-size: 13px;
}
.tabs2 {
font-size: 10px;
}
.tabs3 {
font-size: 9px;
}
.tablist {
margin: 0;
padding: 0;
display: table;
}
.tablist li {
float: left;
display: table-cell;
background-image: url('tab_b.png');
line-height: 36px;
list-style: none;
}
.tablist a {
display: block;
padding: 0 20px;
font-weight: bold;
background-image:url('tab_s.png');
background-repeat:no-repeat;
background-position:right;
color: #283A5D;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
outline: none;
}
.tabs3 .tablist a {
padding: 0 10px;
}
.tablist a:hover {
background-image: url('tab_h.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
text-decoration: none;
}
.tablist li.current a {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment