Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > c200d180bc1063a7706e0da42a546b51 > files > 342

atlascpp-devel-0.6.1-7.fc12.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Atlas-C++: Atlas Funky Encoder</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Atlas Funky Encoder</h1>A compile-time-semantics-checking-&lt;&lt;-style encoder.  
<a href="#_details">More...</a>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_begin_message.html">Atlas::Funky::BeginMessage</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Token class representing the beginning of a message.  <a href="class_atlas_1_1_funky_1_1_begin_message.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_end_message.html">Atlas::Funky::EndMessage</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Token class representing the end of a message.  <a href="class_atlas_1_1_funky_1_1_end_message.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_begin_map.html">Atlas::Funky::BeginMap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Token class representing the beginning of a map.  <a href="class_atlas_1_1_funky_1_1_begin_map.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_end_map.html">Atlas::Funky::EndMap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Token class representing the end of a map.  <a href="class_atlas_1_1_funky_1_1_end_map.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_begin_list.html">Atlas::Funky::BeginList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Token class representing the beginning of a list.  <a href="class_atlas_1_1_funky_1_1_begin_list.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_end_list.html">Atlas::Funky::EndList</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Token class representing the end of a list.  <a href="class_atlas_1_1_funky_1_1_end_list.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_enc_map_value.html">Atlas::Funky::EncMapValue&lt; B, T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder in map value state.  <a href="class_atlas_1_1_funky_1_1_enc_map_value.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_enc_map.html">Atlas::Funky::EncMap&lt; B, T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder in Map state.  <a href="class_atlas_1_1_funky_1_1_enc_map.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_enc_list.html">Atlas::Funky::EncList&lt; B, T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder in List state.  <a href="class_atlas_1_1_funky_1_1_enc_list.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_funky_encoder.html">Atlas::Funky::FunkyEncoder&lt; B &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The root encoder in "stream" state.  <a href="class_atlas_1_1_funky_1_1_funky_encoder.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_atlas_1_1_funky_1_1_tokens.html">Atlas::Funky::Tokens</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="class_atlas_1_1_funky_1_1_tokens.html" title="Tokens representing beginnings and ends of maps/lists.">Tokens</a> representing beginnings and ends of maps/lists.  <a href="class_atlas_1_1_funky_1_1_tokens.html#_details">More...</a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A compile-time-semantics-checking-&lt;&lt;-style encoder. 
<p>
This encoder is composed of several classes which each have different operator&lt;&lt;. You can use it to send a message through a bridge in a format similar to the following:<p>
<pre>
 using namespace Funky;
 Funky::Encoder enc(&amp;myBridge);
 enc &lt;&lt; Token::begin_message
     &lt;&lt; Token::begin_map
        &lt;&lt; "an int" &lt;&lt; 1234
        &lt;&lt; "a float" &lt;&lt; 3.142
        &lt;&lt; "a string" &lt;&lt; "Hello World!"
        &lt;&lt; "a list" &lt;&lt; Token::begin_list
           &lt;&lt; 5678
           &lt;&lt; 2.181
           &lt;&lt; "another string!"
        &lt;&lt; Token::end_list
     &lt;&lt; Token::end_map
     &lt;&lt; Token::end_message;
 </pre><p>
The special thing is that it will perform semantic checking automatically <em>at compile time</em> via a template stack.<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Stefanus Du Toit &lt;<a href="mailto:sdt@gmx.net">sdt@gmx.net</a>&gt;, with help of Mike Day &lt;<a href="mailto:mikeday@corplink.com.au">mikeday@corplink.com.au</a>&gt; </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_atlas_1_1_bridge.html" title="Atlas stream bridge.">Atlas::Bridge</a> </dd></dl>
</div>
<HR>
<P>Copyright 2000-2004 the respective authors.</P>
<P>This document can be licensed under the terms of the GNU Free Documentation
License or the GNU General Public License and may be freely distributed under
the terms given by one of these licenses.</P>