Sophie

Sophie

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

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++: FEncoder.h Source File</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 class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    </ul>
  </div>
<h1>FEncoder.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// This file may be redistributed and modified only under the terms of</span>
<a name="l00002"></a>00002 <span class="comment">// the GNU Lesser General Public License (See COPYING for details).</span>
<a name="l00003"></a>00003 <span class="comment">// Copyright (C) 2000 Stefanus Du Toit</span>
<a name="l00004"></a>00004 
<a name="l00005"></a>00005 <span class="comment">// Much inspiration, the original idea and name suggestion by Mike Day.</span>
<a name="l00006"></a>00006 
<a name="l00007"></a>00007 <span class="preprocessor">#ifndef ATLAS_FUNKY_ENCODER_H</span>
<a name="l00008"></a>00008 <span class="preprocessor"></span><span class="preprocessor">#define ATLAS_FUNKY_ENCODER_H</span>
<a name="l00009"></a>00009 <span class="preprocessor"></span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00011"></a>00011 
<a name="l00012"></a>00012 <span class="keyword">namespace </span>Atlas { <span class="keyword">namespace </span>Funky {
<a name="l00013"></a>00013 
<a name="l00051"></a><a class="code" href="class_atlas_1_1_funky_1_1_begin_message.html">00051</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_begin_message.html" title="Token class representing the beginning of a message.">BeginMessage</a> {};
<a name="l00057"></a><a class="code" href="class_atlas_1_1_funky_1_1_end_message.html">00057</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_end_message.html" title="Token class representing the end of a message.">EndMessage</a> {};
<a name="l00063"></a><a class="code" href="class_atlas_1_1_funky_1_1_begin_map.html">00063</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_begin_map.html" title="Token class representing the beginning of a map.">BeginMap</a> {};
<a name="l00069"></a><a class="code" href="class_atlas_1_1_funky_1_1_end_map.html">00069</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_end_map.html" title="Token class representing the end of a map.">EndMap</a> {};
<a name="l00075"></a><a class="code" href="class_atlas_1_1_funky_1_1_begin_list.html">00075</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_begin_list.html" title="Token class representing the beginning of a list.">BeginList</a> {};
<a name="l00081"></a><a class="code" href="class_atlas_1_1_funky_1_1_end_list.html">00081</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_end_list.html" title="Token class representing the end of a list.">EndList</a> {};
<a name="l00082"></a>00082 
<a name="l00083"></a>00083 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B&gt; <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html" title="The root encoder in &amp;quot;stream&amp;quot; state.">FunkyEncoder</a>;
<a name="l00084"></a>00084 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B, <span class="keyword">class</span> T&gt; <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap</a>;
<a name="l00085"></a>00085 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B, <span class="keyword">class</span> T&gt; <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList</a>;
<a name="l00086"></a>00086 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B, <span class="keyword">class</span> T&gt; <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html" title="Encoder in map value state.">EncMapValue</a>;
<a name="l00087"></a>00087 
<a name="l00093"></a>00093 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B, <span class="keyword">class</span> T&gt;
<a name="l00094"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html">00094</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html" title="Encoder in map value state.">EncMapValue</a> {
<a name="l00095"></a>00095 <span class="keyword">public</span>:
<a name="l00096"></a>00096     <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html" title="Encoder in map value state.">EncMapValue</a>(B&amp; <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#b16134aec0d3d23db6bb9929c794401b" title="The bridge or encoder that is written to.">b</a>, <span class="keyword">const</span> std::string&amp; <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#98f1d50d514ec041ab77716819e47fff" title="The name of this item.">name</a>) : <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#b16134aec0d3d23db6bb9929c794401b" title="The bridge or encoder that is written to.">b</a>(b), <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#98f1d50d514ec041ab77716819e47fff" title="The name of this item.">name</a>(name) { }
<a name="l00097"></a>00097     
<a name="l00099"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a">00099</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap&lt;B, T&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a" title="Begin a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_map.html" title="Token class representing the beginning of a map.">BeginMap</a>&amp;)
<a name="l00100"></a>00100     {
<a name="l00101"></a>00101         b.mapMapItem(name);
<a name="l00102"></a>00102         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap&lt;B, T&gt;</a>(b);
<a name="l00103"></a>00103     }
<a name="l00104"></a>00104 
<a name="l00106"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#e0e523afa372d78dfd9804dc530f9273">00106</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, T&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a" title="Begin a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_list.html" title="Token class representing the beginning of a list.">BeginList</a>&amp;)
<a name="l00107"></a>00107     {
<a name="l00108"></a>00108         b.mapListItem(name);
<a name="l00109"></a>00109         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, T&gt;</a>(b);
<a name="l00110"></a>00110     }
<a name="l00111"></a>00111 
<a name="l00113"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#98e559fe86ca5b344f2aae031ea19389">00113</a>     T <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a" title="Begin a map.">operator&lt;&lt;</a>(<span class="keywordtype">long</span> i)
<a name="l00114"></a>00114     {
<a name="l00115"></a>00115         b.mapIntItem(name, i);
<a name="l00116"></a>00116         <span class="keywordflow">return</span> T(b);
<a name="l00117"></a>00117     }
<a name="l00118"></a>00118 
<a name="l00120"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#d609791159a58b0443ca3c3a5cc45f98">00120</a>     T <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a" title="Begin a map.">operator&lt;&lt;</a>(<span class="keywordtype">double</span> d)
<a name="l00121"></a>00121     {
<a name="l00122"></a>00122         b.mapFloatItem(name, d);
<a name="l00123"></a>00123         <span class="keywordflow">return</span> T(b);
<a name="l00124"></a>00124     }
<a name="l00125"></a>00125 
<a name="l00127"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#da8810a685572a61346d7f26e0e45a29">00127</a>     T <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a" title="Begin a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> std::string&amp; s)
<a name="l00128"></a>00128     {
<a name="l00129"></a>00129         b.mapStringItem(name, s);
<a name="l00130"></a>00130         <span class="keywordflow">return</span> T(b);
<a name="l00131"></a>00131     }
<a name="l00132"></a>00132 
<a name="l00134"></a>00134     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Arg&gt;
<a name="l00135"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#553f44cab6e35c27ec1edcfccb354410">00135</a>     T <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#7224cb17a32b367078dfd8b05f702f6a" title="Begin a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> Arg&amp; a)
<a name="l00136"></a>00136     {
<a name="l00137"></a>00137         b.mapItem(name, a);
<a name="l00138"></a>00138         <span class="keywordflow">return</span> T(b);
<a name="l00139"></a>00139     }
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 <span class="keyword">protected</span>:
<a name="l00143"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#b16134aec0d3d23db6bb9929c794401b">00143</a>     B&amp; b;
<a name="l00145"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html#98f1d50d514ec041ab77716819e47fff">00145</a>     std::string name;
<a name="l00146"></a>00146 };
<a name="l00147"></a>00147 
<a name="l00153"></a>00153 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B, <span class="keyword">class</span> T&gt;
<a name="l00154"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html">00154</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap</a> {
<a name="l00155"></a>00155 <span class="keyword">public</span>:
<a name="l00156"></a>00156     <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap</a>(B&amp; <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#a178f94c072e596b8c2ac5ff0cc0fa2c" title="The bridge or encoder that is written to.">b</a>) : <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#a178f94c072e596b8c2ac5ff0cc0fa2c" title="The bridge or encoder that is written to.">b</a>(b) { }
<a name="l00157"></a>00157 
<a name="l00159"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#676541a0bbb0f06d9b97ae771818cc23">00159</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html" title="Encoder in map value state.">EncMapValue&lt; B, EncMap&lt;B, T&gt;</a> &gt; <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#676541a0bbb0f06d9b97ae771818cc23" title="Start a value with its name.">operator&lt;&lt;</a>(<span class="keyword">const</span> std::string&amp; name)
<a name="l00160"></a>00160     {
<a name="l00161"></a>00161         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_funky_1_1_enc_map_value.html" title="Encoder in map value state.">EncMapValue&lt; B, EncMap&lt;B, T&gt;</a> &gt;(b, name);
<a name="l00162"></a>00162     }
<a name="l00163"></a>00163 
<a name="l00165"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#6eafbbb2317b510ed9ef8986ff55150d">00165</a>     T <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#676541a0bbb0f06d9b97ae771818cc23" title="Start a value with its name.">operator&lt;&lt;</a>(<a class="code" href="class_atlas_1_1_funky_1_1_end_map.html" title="Token class representing the end of a map.">EndMap</a>)
<a name="l00166"></a>00166     {
<a name="l00167"></a>00167         b.mapEnd();
<a name="l00168"></a>00168         <span class="keywordflow">return</span> T(b);
<a name="l00169"></a>00169     }
<a name="l00170"></a>00170     
<a name="l00171"></a>00171 <span class="keyword">protected</span>:
<a name="l00173"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html#a178f94c072e596b8c2ac5ff0cc0fa2c">00173</a>     B&amp; b;
<a name="l00174"></a>00174 };
<a name="l00175"></a>00175 
<a name="l00181"></a>00181 <span class="keyword">template</span>&lt;<span class="keyword">class</span> B, <span class="keyword">class</span> T&gt;
<a name="l00182"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html">00182</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList</a> {
<a name="l00183"></a>00183 <span class="keyword">public</span>:
<a name="l00184"></a>00184     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList</a>(B&amp; <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#0f3a42fe392ab43fe4c9ab4955fecf79" title="The bridge or encoder that is written to.">b</a>) : <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#0f3a42fe392ab43fe4c9ab4955fecf79" title="The bridge or encoder that is written to.">b</a>(b) { }
<a name="l00185"></a>00185 
<a name="l00187"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b">00187</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap&lt;B, EncList&lt;B, T&gt;</a> &gt; <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_map.html" title="Token class representing the beginning of a map.">BeginMap</a>&amp;)
<a name="l00188"></a>00188     {
<a name="l00189"></a>00189         b.listMapItem();
<a name="l00190"></a>00190         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap&lt;B, EncList&lt;B, T&gt;</a> &gt;(b);
<a name="l00191"></a>00191     }
<a name="l00192"></a>00192 
<a name="l00194"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#8e4faa6c940ae5a1d2046f30742f77e8">00194</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, EncList&lt;B, T&gt;</a> &gt; <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_list.html" title="Token class representing the beginning of a list.">BeginList</a>&amp;)
<a name="l00195"></a>00195     {
<a name="l00196"></a>00196         b.listListItem();
<a name="l00197"></a>00197         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, EncList&lt;B, T&gt;</a> &gt;(b);
<a name="l00198"></a>00198     }
<a name="l00199"></a>00199 
<a name="l00201"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#e16b03f4e556fbd0c4e2939fd161a602">00201</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, T&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<span class="keywordtype">long</span> i)
<a name="l00202"></a>00202     {
<a name="l00203"></a>00203         b.listIntItem(i);
<a name="l00204"></a>00204         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00205"></a>00205     }
<a name="l00206"></a>00206 
<a name="l00208"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#e52226ed2219dc986021839963bf002e">00208</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, T&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<span class="keywordtype">double</span> d)
<a name="l00209"></a>00209     {
<a name="l00210"></a>00210         b.listFloatItem(d);
<a name="l00211"></a>00211         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00212"></a>00212     }
<a name="l00213"></a>00213 
<a name="l00215"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#2aed22adca2021a031f951dd53fc15aa">00215</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, T&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> std::string&amp; s)
<a name="l00216"></a>00216     {
<a name="l00217"></a>00217         b.listStringItem(s);
<a name="l00218"></a>00218         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00219"></a>00219     }
<a name="l00220"></a>00220 
<a name="l00222"></a>00222     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Arg&gt;
<a name="l00223"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#d66c65603862c82a244bda2a1f948565">00223</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html" title="Encoder in List state.">EncList&lt;B, T&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<span class="keyword">const</span> Arg&amp; a)
<a name="l00224"></a>00224     {
<a name="l00225"></a>00225         b.listItem(a);
<a name="l00226"></a>00226         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00227"></a>00227     }
<a name="l00228"></a>00228     
<a name="l00230"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#2b8909dce3e20cc777460c585437f879">00230</a>     T <a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#9dc7afc2388d1d2732c2b33119a0784b" title="Start a map.">operator&lt;&lt;</a>(<a class="code" href="class_atlas_1_1_funky_1_1_end_list.html" title="Token class representing the end of a list.">EndList</a>)
<a name="l00231"></a>00231     {
<a name="l00232"></a>00232         b.listEnd();
<a name="l00233"></a>00233         <span class="keywordflow">return</span> T(b);
<a name="l00234"></a>00234     }
<a name="l00235"></a>00235     
<a name="l00236"></a>00236 <span class="keyword">protected</span>:
<a name="l00238"></a><a class="code" href="class_atlas_1_1_funky_1_1_enc_list.html#0f3a42fe392ab43fe4c9ab4955fecf79">00238</a>     B&amp; b;
<a name="l00239"></a>00239 };
<a name="l00240"></a>00240 
<a name="l00246"></a>00246 <span class="keyword">template</span> &lt;<span class="keyword">class</span> B&gt;
<a name="l00247"></a><a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html">00247</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html" title="The root encoder in &amp;quot;stream&amp;quot; state.">FunkyEncoder</a>
<a name="l00248"></a>00248 {
<a name="l00249"></a>00249 <span class="keyword">public</span>:
<a name="l00250"></a>00250     <a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html" title="The root encoder in &amp;quot;stream&amp;quot; state.">FunkyEncoder</a>(B&amp; <a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#4acb91715400536cffde438968d039f0" title="The bridge or encoder that is written to.">b</a>) : <a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#4acb91715400536cffde438968d039f0" title="The bridge or encoder that is written to.">b</a>(b) { }
<a name="l00251"></a>00251     
<a name="l00253"></a><a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#58990c79c131a352d5d8604f34aa8590">00253</a>     <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap&lt;B, FunkyEncoder&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#58990c79c131a352d5d8604f34aa8590" title="Start a message (as a map).">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_map.html" title="Token class representing the beginning of a map.">BeginMap</a>&amp;) {
<a name="l00254"></a>00254         b.streamMessage();
<a name="l00255"></a>00255         <span class="keywordflow">return</span> <a class="code" href="class_atlas_1_1_funky_1_1_enc_map.html" title="Encoder in Map state.">EncMap&lt;B, FunkyEncoder&gt;</a>(b);
<a name="l00256"></a>00256     }
<a name="l00257"></a>00257 
<a name="l00259"></a>00259     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Arg&gt;
<a name="l00260"></a><a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#d296cf29df338d9abc0a3b8cc3d2b403">00260</a>     <a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html" title="The root encoder in &amp;quot;stream&amp;quot; state.">FunkyEncoder&lt;B&gt;</a> <a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#58990c79c131a352d5d8604f34aa8590" title="Start a message (as a map).">operator&lt;&lt;</a>(<span class="keyword">const</span> Arg&amp; a)
<a name="l00261"></a>00261     {
<a name="l00262"></a>00262         b.streamObjectsMessage(a);
<a name="l00263"></a>00263         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l00264"></a>00264     }
<a name="l00265"></a>00265 
<a name="l00266"></a>00266 <span class="keyword">protected</span>:
<a name="l00268"></a><a class="code" href="class_atlas_1_1_funky_1_1_funky_encoder.html#4acb91715400536cffde438968d039f0">00268</a>     B&amp; b;
<a name="l00269"></a>00269 };
<a name="l00270"></a>00270 
<a name="l00278"></a><a class="code" href="class_atlas_1_1_funky_1_1_tokens.html">00278</a> <span class="keyword">class </span><a class="code" href="class_atlas_1_1_funky_1_1_tokens.html" title="Tokens representing beginnings and ends of maps/lists.">Tokens</a> {
<a name="l00279"></a>00279 <span class="keyword">public</span>:
<a name="l00280"></a>00280     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_map.html" title="Token class representing the beginning of a map.">BeginMap</a> begin_map;
<a name="l00281"></a>00281     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_funky_1_1_end_map.html" title="Token class representing the end of a map.">EndMap</a> end_map;
<a name="l00282"></a>00282     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_funky_1_1_begin_list.html" title="Token class representing the beginning of a list.">BeginList</a> begin_list;
<a name="l00283"></a>00283     <span class="keyword">static</span> <a class="code" href="class_atlas_1_1_funky_1_1_end_list.html" title="Token class representing the end of a list.">EndList</a> end_list;
<a name="l00284"></a>00284 };
<a name="l00285"></a>00285 
<a name="l00286"></a>00286 
<a name="l00287"></a>00287 } } <span class="comment">// Atlas::Funky namespace</span>
<a name="l00288"></a>00288 
<a name="l00289"></a>00289 <span class="preprocessor">#endif</span>
</pre></div></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>