Browse files

Minor restructuring of docs; added html docs so that it can be viewed…

… on-line.
  • Loading branch information...
1 parent 6c60378 commit d63abbe972eff1a351635e58a613bb825c774bd5 @glynos glynos committed Jan 20, 2010
Showing with 3,012 additions and 50 deletions.
  1. +25 −0 index.html
  2. +11 −3 libs/network/doc/architecture.qbk
  3. +46 −0 libs/network/doc/html/c___network_library/acknowledgements.html
  4. +85 −0 libs/network/doc/html/c___network_library/architecture.html
  5. +151 −0 libs/network/doc/html/c___network_library/architecture/message.html
  6. +221 −0 libs/network/doc/html/c___network_library/architecture/message/message_concepts.html
  7. +55 −0 libs/network/doc/html/c___network_library/architecture/message/rendering_layer.html
  8. +119 −0 libs/network/doc/html/c___network_library/architecture/message/tag_dispatching.html
  9. +55 −0 libs/network/doc/html/c___network_library/architecture/message/transformation_layer.html
  10. +63 −0 libs/network/doc/html/c___network_library/architecture/uri.html
  11. +412 −0 libs/network/doc/html/c___network_library/architecture/uri/concepts.html
  12. +431 −0 libs/network/doc/html/c___network_library/architecture/uri/uri_concepts.html
  13. +48 −0 libs/network/doc/html/c___network_library/examples.html
  14. +135 −0 libs/network/doc/html/c___network_library/examples/http_client.html
  15. +111 −0 libs/network/doc/html/c___network_library/examples/simple_wget.html
  16. +48 −0 libs/network/doc/html/c___network_library/intro.html
  17. +50 −0 libs/network/doc/html/c___network_library/intro/history.html
  18. +56 −0 libs/network/doc/html/c___network_library/intro/motivation.html
  19. +76 −0 libs/network/doc/html/c___network_library/intro/objectives.html
  20. +41 −0 libs/network/doc/html/c___network_library/intro/objectives/history.html
  21. +49 −0 libs/network/doc/html/c___network_library/protocol.html
  22. +210 −0 libs/network/doc/html/c___network_library/protocol/http.html
  23. +123 −0 libs/network/doc/html/c___network_library/quick_start.html
  24. +63 −0 libs/network/doc/html/c___network_library/reference.html
  25. +67 −0 libs/network/doc/html/c___network_library/using.html
  26. +92 −0 libs/network/doc/html/index.html
  27. +22 −0 libs/network/doc/html/standalone_HTML.manifest
  28. +33 −14 libs/network/doc/http.qbk
  29. +33 −7 libs/network/doc/intro.qbk
  30. +34 −11 libs/network/doc/message.qbk
  31. +17 −4 libs/network/doc/objectives.qbk
  32. +3 −1 libs/network/doc/protocol.qbk
  33. +22 −7 libs/network/doc/tags_and_directives.qbk
  34. +5 −3 libs/network/doc/using.qbk
View
25 index.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="refresh" content="0; URL=libs/network/doc/html/index.html" />
+
+ <title></title>
+ <link rel="stylesheet" href="libs/network/doc/boostbook.css" type="text/css" />
+</head>
+
+<body>
+ Automatic redirection failed, please go to <a href=
+ "libs/network/doc/html/index.html">index.html</a>.
+
+ <div class="copyright-footer">
+ <p>Copyright 2010 Glyn Matthews</p>
+
+ <p>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file <a href="LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy
+ at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+ </div>
+</body>
+</html>
View
14 libs/network/doc/architecture.qbk
@@ -7,11 +7,19 @@
[section:architecture Architecture]
-__cnl__ is built upon __boost_asio__, a high-quality, portable asynchronous I/O library that provides a solid interface for C++ network programming.
+__cnl__ is built upon __boost_asio__, a high-quality, portable
+asynchronous I/O library that provides a solid interface for C++
+network programming.
-The architecture is driven by the requirement to separate requests and responses from the transport mechanism. Additionally, it utilises generic programming techniques to make decisions at compile-time, resulting in more efficient and stable client code.
+The architecture is driven by the requirement to separate requests and
+responses from the transport mechanism. Additionally, it utilises
+generic programming techniques to make decisions at compile-time,
+resulting in more efficient and stable client code.
-There are two main features of the architecture which use modern C++ techniques to allow extensibility without comprimising efficiency: tags and directives. It is these techniques that underpin the design of the message.
+There are two main features of the architecture which use modern C++
+techniques to allow extensibility without comprimising efficiency:
+tags and directives. It is these techniques that underpin the design
+of the message.
[include message.qbk]
[include uri.qbk]
View
46 libs/network/doc/html/c___network_library/acknowledgements.html
@@ -0,0 +1,46 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgements</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../index.html" title="C++ Network Library 0.5">
+<link rel="prev" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a>
+</div>
+<div class="section" title="Acknowledgements">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="c___network_library.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements"> Acknowledgements</a>
+</h2></div></div></div>
+<p>
+ Much of the implementation of the HTTP package was ported from <a href="http://www.pion.org/projects/pion-network-library" target="_top">the
+ Pion Network Library</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reference.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>
View
85 libs/network/doc/html/c___network_library/architecture.html
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Architecture</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../index.html" title="C++ Network Library 0.5">
+<link rel="prev" href="using.html" title="Using The C++ Network Library">
+<link rel="next" href="architecture/message.html" title="The Message">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="architecture/message.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Architecture">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="c___network_library.architecture"></a><a class="link" href="architecture.html" title="Architecture"> Architecture</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="architecture/message.html"> The Message</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="architecture/message/tag_dispatching.html">
+ Tag Dispatching</a></span></dt>
+<dt><span class="section"><a href="architecture/message/message_concepts.html">
+ Concepts</a></span></dt>
+<dd><dl><dt><span class="section"><a href="architecture/message/message_concepts.html#c___network_library.architecture.message.message_concepts.message_concept">
+ Message</a></span></dt></dl></dd>
+<dt><span class="section"><a href="architecture/message/transformation_layer.html">
+ Transformation layer</a></span></dt>
+<dt><span class="section"><a href="architecture/message/rendering_layer.html">
+ Rendering layer</a></span></dt>
+</dl></dd>
+<dt><span class="section"><a href="architecture/uri.html"> The URI</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="architecture/uri/uri_concepts.html">
+ URI Concepts</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="architecture/uri/uri_concepts.html#c___network_library.architecture.uri.uri_concepts.uri_concept">
+ URI</a></span></dt>
+<dt><span class="section"><a href="architecture/uri/uri_concepts.html#c___network_library.architecture.uri.uri_concepts.http_uri">
+ HTTP URI</a></span></dt>
+</dl></dd>
+</dl></dd>
+</dl></div>
+<p>
+ C++ Network Library is built upon <a href="http://www.boost.org/libs/asio/index.html" target="_top">Boost.Asio</a>,
+ a high-quality, portable asynchronous I/O library that provides a solid interface
+ for C++ network programming.
+ </p>
+<p>
+ The architecture is driven by the requirement to separate requests and responses
+ from the transport mechanism. Additionally, it utilises generic programming
+ techniques to make decisions at compile-time, resulting in more efficient and
+ stable client code.
+ </p>
+<p>
+ There are two main features of the architecture which use modern C++ techniques
+ to allow extensibility without comprimising efficiency: tags and directives.
+ It is these techniques that underpin the design of the message.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="using.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="architecture/message.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
151 libs/network/doc/html/c___network_library/architecture/message.html
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Message</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../architecture.html" title="Architecture">
+<link rel="prev" href="../architecture.html" title="Architecture">
+<link rel="next" href="message/tag_dispatching.html" title="Tag Dispatching">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../architecture.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../architecture.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="message/tag_dispatching.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="The Message">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="c___network_library.architecture.message"></a><a class="link" href="message.html" title="The Message"> The Message</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="message/tag_dispatching.html">
+ Tag Dispatching</a></span></dt>
+<dt><span class="section"><a href="message/message_concepts.html">
+ Concepts</a></span></dt>
+<dd><dl><dt><span class="section"><a href="message/message_concepts.html#c___network_library.architecture.message.message_concepts.message_concept">
+ Message</a></span></dt></dl></dd>
+<dt><span class="section"><a href="message/transformation_layer.html">
+ Transformation layer</a></span></dt>
+<dt><span class="section"><a href="message/rendering_layer.html">
+ Rendering layer</a></span></dt>
+</dl></div>
+<p>
+ The initial concept behind the C++ Network Library is the <code class="literal">basic_message</code>
+ template. The advantage of this is that <code class="literal">basic_message</code>
+ can be specialized for different protocol implementations.
+ </p>
+<p>
+ <code class="literal">basic_message</code> is presented below:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">network</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">basic_message</span> <span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library5co" href="message.html#c___network_library5"><img src="http://www.boost.org/doc/src/images/callouts/1.png" alt="1" border="0"></a></span><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">string</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">string_type</span><span class="special">;</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library6co" href="message.html#c___network_library6"><img src="http://www.boost.org/doc/src/images/callouts/2.png" alt="2" border="0"></a></span><span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">headers_container</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">headers_container_type</span><span class="special">;</span>
+
+ <span class="line_callout_bug"><a class="co" name="c___network_library7co" href="message.html#c___network_library7"><img src="http://www.boost.org/doc/src/images/callouts/3.png" alt="3" border="0"></a></span><span class="identifier">basic_message</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_message</span> <span class="special">&amp;);</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library8co" href="message.html#c___network_library8"><img src="http://www.boost.org/doc/src/images/callouts/4.png" alt="4" border="0"></a></span><span class="identifier">basic_message</span> <span class="special">&amp;</span><span class="keyword">operator</span> <span class="special">=</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_message</span> <span class="special">&amp;);</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library9co" href="message.html#c___network_library9"><img src="http://www.boost.org/doc/src/images/callouts/5.png" alt="5" border="0"></a></span><span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><span class="identifier">basic_message</span> <span class="special">&amp;);</span>
+
+ <span class="line_callout_bug"><a class="co" name="c___network_library10co" href="message.html#c___network_library10"><img src="http://www.boost.org/doc/src/images/callouts/6.png" alt="6" border="0"></a></span><span class="identifier">headers_container_type</span> <span class="special">&amp;</span> <span class="identifier">headers</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library11co" href="message.html#c___network_library11"><img src="http://www.boost.org/doc/src/images/callouts/7.png" alt="7" border="0"></a></span><span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">body</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library12co" href="message.html#c___network_library12"><img src="http://www.boost.org/doc/src/images/callouts/8.png" alt="8" border="0"></a></span><span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">source</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="line_callout_bug"><a class="co" name="c___network_library13co" href="message.html#c___network_library13"><img src="http://www.boost.org/doc/src/images/callouts/9.png" alt="9" border="0"></a></span><span class="identifier">string_type</span> <span class="special">&amp;</span> <span class="identifier">destination</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="line_callout_bug"><a class="co" name="c___network_library14co" href="message.html#c___network_library14"><img src="http://www.boost.org/doc/src/images/callouts/10.png" alt="10" border="0"></a></span><span class="keyword">typedef</span> <span class="identifier">basic_message</span><span class="special">&lt;</span><span class="identifier">tags</span><span class="special">::</span><span class="identifier">default_</span><span class="special">&gt;</span> <span class="identifier">message</span><span class="special">;</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ </p>
+<div class="calloutlist"><table border="0" summary="Callout list">
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library5"></a><a href="#c___network_library5co"><img src="http://www.boost.org/doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Defines the underlying string type, so that the message can be specialized
+ for different text encodings </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library6"></a><a href="#c___network_library6co"><img src="http://www.boost.org/doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Defines a container for message headers </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library7"></a><a href="#c___network_library7co"><img src="http://www.boost.org/doc/src/images/callouts/3.png" alt="3" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Copy
+ constructor </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library8"></a><a href="#c___network_library8co"><img src="http://www.boost.org/doc/src/images/callouts/4.png" alt="4" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Assignment operator </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library9"></a><a href="#c___network_library9co"><img src="http://www.boost.org/doc/src/images/callouts/5.png" alt="5" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Swap function </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library10"></a><a href="#c___network_library10co"><img src="http://www.boost.org/doc/src/images/callouts/6.png" alt="6" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Accesses the message headers
+ </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library11"></a><a href="#c___network_library11co"><img src="http://www.boost.org/doc/src/images/callouts/7.png" alt="7" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Accesses the message body </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library12"></a><a href="#c___network_library12co"><img src="http://www.boost.org/doc/src/images/callouts/8.png" alt="8" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Accesses the source of the message </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library13"></a><a href="#c___network_library13co"><img src="http://www.boost.org/doc/src/images/callouts/9.png" alt="9" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Accesses the
+ destination of the message </p></td>
+</tr>
+<tr>
+<td width="5%" valign="top" align="left"><p><a name="c___network_library14"></a><a href="#c___network_library14co"><img src="http://www.boost.org/doc/src/images/callouts/10.png" alt="10" border="0"></a> </p></td>
+<td valign="top" align="left"><p> Defines a message with default parameters. </p></td>
+</tr>
+</table></div>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ <code class="literal">basic_message</code> is the bare minimum for a class to model
+ the Message concept. It is intended to be extended and customized according
+ to the requirements of different protocols.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../architecture.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../architecture.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="message/tag_dispatching.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
221 libs/network/doc/html/c___network_library/architecture/message/message_concepts.html
@@ -0,0 +1,221 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Concepts</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../message.html" title="The Message">
+<link rel="prev" href="tag_dispatching.html" title="Tag Dispatching">
+<link rel="next" href="transformation_layer.html" title="Transformation layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tag_dispatching.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation_layer.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Concepts">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="c___network_library.architecture.message.message_concepts"></a><a class="link" href="message_concepts.html" title="Concepts">
+ Concepts</a>
+</h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="message_concepts.html#c___network_library.architecture.message.message_concepts.message_concept">
+ Message</a></span></dt></dl></div>
+<p>
+ <code class="literal">basic_message</code> is <a href="http://www.boost.org/doc/html/DefaultConstructible.html" target="_top">DefaultConstructible</a>,
+ <a href="http://www.boost.org/doc/html/CopyConstructible.html" target="_top">CopyConstructible</a>
+ and <a href="http://www.boost.org/doc/html/Assignable.html" target="_top">Assignable</a>.
+ </p>
+<div class="section" title="Message">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="c___network_library.architecture.message.message_concepts.message_concept"></a><a class="link" href="message_concepts.html#c___network_library.architecture.message.message_concepts.message_concept" title="Message">
+ Message</a>
+</h5></div></div></div>
+<a name="c___network_library.architecture.message.message_concepts.message_concept.description"></a><h6>
+<a name="id2868686"></a>
+ <a class="link" href="message_concepts.html#c___network_library.architecture.message.message_concepts.message_concept.description">Description</a>
+ </h6>
+<p>
+ A type models the URI Concept if the type adheres to the following usage
+ semantics, and is DefaultConstructible and EqualityComparable.
+ </p>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">M</span></code></span></dt>
+<dd><p>
+ A Message Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">m</span></code>,
+ <code class="computeroutput"><span class="identifier">m_</span></code></span></dt>
+<dd><p>
+ A Message Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd><p>
+ A String Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd><p>
+ A String Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">O</span></code></span></dt>
+<dd><p>
+ An Ostringstream Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">o</span></code></span></dt>
+<dd><p>
+ An Ostringstream Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">C</span></code></span></dt>
+<dd><p>
+ A Header Container Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">c</span></code></span></dt>
+<dd><p>
+ A Header Container Type instance.
+ </p></dd>
+</dl>
+</div>
+<a name="c___network_library.architecture.message.message_concepts.message_concept.valid_expressions"></a><h6>
+<a name="id2868888"></a>
+ <a class="link" href="message_concepts.html#c___network_library.architecture.message.message_concepts.message_concept.valid_expressions">Valid
+ Expressions</a>
+ </h6>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Return Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">M</span> <span class="identifier">m_</span><span class="special">(</span><span class="identifier">m</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ M must be Copy constructible.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">M</span> <span class="identifier">m_</span><span class="special">;</span> <span class="identifier">m_</span>
+ <span class="special">=</span> <span class="identifier">m</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ M must be Assignable.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">m_</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ void
+ </p>
+ </td>
+<td>
+ <p>
+ Swap should be availabe via ADL.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">M</span><span class="special">::</span><span class="identifier">string_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ M should have a nested type <code class="computeroutput"><span class="identifier">string_type</span></code>
+ of type <code class="computeroutput"><span class="identifier">S</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">M</span><span class="special">::</span><span class="identifier">headers_container_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ C
+ </p>
+ </td>
+<td>
+ <p>
+ M should have a nested type <code class="computeroutput"><span class="identifier">headers_container_type</span></code>
+ of type <code class="computeroutput"><span class="identifier">C</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tag_dispatching.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation_layer.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
55 libs/network/doc/html/c___network_library/architecture/message/rendering_layer.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Rendering layer</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../message.html" title="The Message">
+<link rel="prev" href="transformation_layer.html" title="Transformation layer">
+<link rel="next" href="../uri.html" title="The URI">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transformation_layer.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../uri.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Rendering layer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="c___network_library.architecture.message.rendering_layer"></a><a class="link" href="rendering_layer.html" title="Rendering layer">
+ Rendering layer</a>
+</h4></div></div></div>
+<p>
+ The rendering layer defines the algorithms used to render a message into
+ different formats or types. Rendering functions should apply to any type
+ that models the Message Concept. Functions in the rendering layer take
+ the form:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="identifier">unspecified</span> <span class="special">&amp;</span><span class="identifier">render</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">basic_message</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span> <span class="special">&amp;,</span> <span class="special">...);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transformation_layer.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../uri.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
119 libs/network/doc/html/c___network_library/architecture/message/tag_dispatching.html
@@ -0,0 +1,119 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Tag Dispatching</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../message.html" title="The Message">
+<link rel="prev" href="../message.html" title="The Message">
+<link rel="next" href="message_concepts.html" title="Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../message.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="message_concepts.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Tag Dispatching">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="c___network_library.architecture.message.tag_dispatching"></a><a class="link" href="tag_dispatching.html" title="Tag Dispatching">
+ Tag Dispatching</a>
+</h4></div></div></div>
+<p>
+ The <code class="literal">basic_message</code> template has a single argument (Tag).
+ Tags are useful because:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ It's possible to specialize the message for different storage requirements;
+ </li>
+<li class="listitem">
+ It's possible to extend the message to support different network protocols.
+ </li>
+</ol></div>
+<p>
+ The storage requirements for each of these can differ depending on factors
+ such as the string encoding type or memory usage. For different reasons,
+ its possible to assume a string implementation might be:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem"><code class="literal">std::string</code></li>
+<li class="listitem"><code class="literal">std::wstring</code></li>
+<li class="listitem"><code class="literal">std::vector&lt;boost::uint32_t&gt;</code></li>
+<li class="listitem"><a href="http://msdn.microsoft.com/en-us/library/ms174288.aspx" target="_top"><code class="literal">CString</code></a></li>
+<li class="listitem"><a href="http://doc.trolltech.com/qstring.html" target="_top"><code class="literal">QString</code></a></li>
+</ol></div>
+<p>
+ The C++ Network Library uses tag dispatching to specialize the message
+ interface at compile time.
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">network</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">unsupported_tag</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">string</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">unsupported_tag</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">tags</span> <span class="special">{</span>
+<span class="keyword">struct</span> <span class="identifier">default_</span> <span class="special">{</span> <span class="special">};</span>
+<span class="special">}</span> <span class="comment">// namespace tags
+</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">string</span><span class="special">&lt;</span><span class="identifier">tags</span><span class="special">::</span><span class="identifier">default_</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+<span class="special">}</span> <span class="comment">// namespace network
+</span><span class="special">}</span> <span class="comment">// namespace boost
+</span></pre>
+<p>
+ This technique is extended to two more metafunctions that are used by
+ <code class="literal">basic_message</code>:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">network</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">ostringstream</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">unsupported_tag</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">headers_container</span> <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">unsupported_tag</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+<span class="special">};</span>
+<span class="special">}</span> <span class="comment">// namespace network
+</span><span class="special">}</span> <span class="comment">// namespace boost
+</span></pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../message.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="message_concepts.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
55 libs/network/doc/html/c___network_library/architecture/message/transformation_layer.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Transformation layer</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../message.html" title="The Message">
+<link rel="prev" href="message_concepts.html" title="Concepts">
+<link rel="next" href="rendering_layer.html" title="Rendering layer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_concepts.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rendering_layer.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Transformation layer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="c___network_library.architecture.message.transformation_layer"></a><a class="link" href="transformation_layer.html" title="Transformation layer">
+ Transformation layer</a>
+</h4></div></div></div>
+<p>
+ The transformation layer defines the algorithms that can be applied on
+ messages to transform parts or whole messages into different forms or representations.
+ Transformations should apply to any type that models the Message concept.
+ Functions in the transform layer take the form:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Tag</span>
+ <span class="special">&gt;</span>
+<span class="identifier">basic_message</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span> <span class="special">&amp;</span><span class="identifier">transform</span><span class="special">(</span><span class="identifier">basic_message</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">&gt;</span> <span class="special">&amp;,</span> <span class="special">...);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message_concepts.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../message.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rendering_layer.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
63 libs/network/doc/html/c___network_library/architecture/uri.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The URI</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../architecture.html" title="Architecture">
+<link rel="prev" href="message/rendering_layer.html" title="Rendering layer">
+<link rel="next" href="uri/uri_concepts.html" title="URI Concepts">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message/rendering_layer.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../architecture.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="uri/uri_concepts.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="The URI">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="c___network_library.architecture.uri"></a><a class="link" href="uri.html" title="The URI"> The URI</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="uri/uri_concepts.html">
+ URI Concepts</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="uri/uri_concepts.html#c___network_library.architecture.uri.uri_concepts.uri_concept">
+ URI</a></span></dt>
+<dt><span class="section"><a href="uri/uri_concepts.html#c___network_library.architecture.uri.uri_concepts.http_uri">
+ HTTP URI</a></span></dt>
+</dl></dd>
+</dl></div>
+<p>
+ The library includes a URI object and parser implementation that allows users
+ of the library to easily interact with different kinds of valid URI formats.
+ </p>
+<p>
+ Currently the library supports a bare URI implementation that only parsers
+ the scheme and leaves the scheme specific part as is, as well as a very liberal
+ HTTP URI parser. The HTTP URI object only supports absolute URIs that start
+ with either 'http' or 'https'.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="message/rendering_layer.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../architecture.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="uri/uri_concepts.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
412 libs/network/doc/html/c___network_library/architecture/uri/concepts.html
@@ -0,0 +1,412 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>URI Concepts</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../uri.html" title="The URI">
+<link rel="prev" href="../uri.html" title="The URI">
+<link rel="next" href="../../protocol.html" title="Application Layer Protocols">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../uri.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../uri.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../protocol.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="URI Concepts">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="c___network_library.architecture.uri.concepts"></a><a class="link" href="concepts.html" title="URI Concepts"> URI
+ Concepts</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concepts.html#c___network_library.architecture.uri.concepts.uri_concept">
+ URI</a></span></dt>
+<dt><span class="section"><a href="concepts.html#c___network_library.architecture.uri.concepts.http_uri">
+ HTTP URI</a></span></dt>
+</dl></div>
+<p>
+ This page describes the URI Concepts implemented within cpp-netlib. The
+ following concepts are also implemented as Boost.Concept_check types enforced
+ by the URI library.
+ </p>
+<p>
+ URI Concepts are organized into a hierarchy of conepts.
+ </p>
+<div class="section" title="URI">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="c___network_library.architecture.uri.concepts.uri_concept"></a><a class="link" href="concepts.html#c___network_library.architecture.uri.concepts.uri_concept" title="URI">
+ URI</a>
+</h5></div></div></div>
+<a name="c___network_library.architecture.uri.concepts.uri_concept.description"></a><h6>
+<a name="id2869370"></a>
+ <a class="link" href="concepts.html#c___network_library.architecture.uri.concepts.uri_concept.description">Description</a>
+ </h6>
+<p>
+ A type models the URI Concept if the type adheres to the following usage
+ semantics, and is DefaultConstructible and EqualityComparable.
+ </p>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">U</span></code></span></dt>
+<dd><p>
+ A URI Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">u</span></code>,<code class="computeroutput"><span class="identifier">u_</span></code></span></dt>
+<dd><p>
+ A URI Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd><p>
+ A String Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd><p>
+ A String Type instance.
+ </p></dd>
+</dl>
+</div>
+<a name="c___network_library.architecture.uri.concepts.uri_concept.valid_expressions"></a><h6>
+<a name="id2869491"></a>
+ <a class="link" href="concepts.html#c___network_library.architecture.uri.concepts.uri_concept.valid_expressions">Valid
+ Expressions</a>
+ </h6>
+<p>
+ For any URI, the following expressions must be valid:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Return Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span> <span class="identifier">u_</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ U must be Copy constructible.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span> <span class="identifier">u_</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ U can be constructed from a string <code class="computeroutput"><span class="identifier">s</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">u</span><span class="special">,</span><span class="identifier">u_</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ void
+ </p>
+ </td>
+<td>
+ <p>
+ Swap should be availabe via ADL.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">protocol</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Return the protocol part of the URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rest</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Return the rest of the URI, excluding the protocol part.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">valid</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Return true whether the URI is a valid URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span><span class="special">::</span><span class="identifier">string_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ U should have a nested type <code class="computeroutput"><span class="identifier">string_type</span></code>
+ of type <code class="computeroutput"><span class="identifier">S</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" title="HTTP URI">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="c___network_library.architecture.uri.concepts.http_uri"></a><a class="link" href="concepts.html#c___network_library.architecture.uri.concepts.http_uri" title="HTTP URI">
+ HTTP URI</a>
+</h5></div></div></div>
+<p>
+ A type models the HTTP URI Concept if the type adheres to the following
+ usage semantics, and if the type also models the URI Concept.
+ </p>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">H</span></code></span></dt>
+<dd><p>
+ An HTTP URI Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">h</span></code>,<code class="computeroutput"><span class="identifier">h_</span></code></span></dt>
+<dd><p>
+ An HTTP URI Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd><p>
+ A String Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd><p>
+ A String Type instance.
+ </p></dd>
+</dl>
+</div>
+<a name="c___network_library.architecture.uri.concepts.http_uri.valid_expressions"></a><h6>
+<a name="id2870019"></a>
+ <a class="link" href="concepts.html#c___network_library.architecture.uri.concepts.http_uri.valid_expressions">Valid
+ Expressions</a>
+ </h6>
+<p>
+ For any HTTP URI, the following expressions must be valid:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Return Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">user_info</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the user-info part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">host</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the host part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">port</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ uint32_t
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the port part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">path</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the path part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">query</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the query part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fragment</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the fragment part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../uri.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../uri.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../protocol.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
431 libs/network/doc/html/c___network_library/architecture/uri/uri_concepts.html
@@ -0,0 +1,431 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>URI Concepts</title>
+<link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="C++ Network Library 0.5">
+<link rel="up" href="../uri.html" title="The URI">
+<link rel="prev" href="../uri.html" title="The URI">
+<link rel="next" href="../../protocol.html" title="Application Layer Protocols">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/boost.png"></td>
+<td align="center"><a href="http://www.boost.org/index.html">Home</a></td>
+<td align="center"><a href="http://www.boost.org/libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="http://www.boost.org/more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../uri.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../uri.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../protocol.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="URI Concepts">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="c___network_library.architecture.uri.uri_concepts"></a><a class="link" href="uri_concepts.html" title="URI Concepts">
+ URI Concepts</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.uri_concept">
+ URI</a></span></dt>
+<dt><span class="section"><a href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.http_uri">
+ HTTP URI</a></span></dt>
+</dl></div>
+<p>
+ This page describes the URI Concepts implemented within cpp-netlib. The
+ following concepts are also implemented as Boost.Concept_check types enforced
+ by the URI library.
+ </p>
+<p>
+ URI Concepts are organized into a hierarchy of conepts.
+ </p>
+<div class="section" title="URI">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="c___network_library.architecture.uri.uri_concepts.uri_concept"></a><a class="link" href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.uri_concept" title="URI">
+ URI</a>
+</h5></div></div></div>
+<a name="c___network_library.architecture.uri.uri_concepts.uri_concept.description"></a><h6>
+<a name="id2869520"></a>
+ <a class="link" href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.uri_concept.description">Description</a>
+ </h6>
+<p>
+ A type models the URI Concept if the type adheres to the following usage
+ semantics, and is DefaultConstructible and EqualityComparable.
+ </p>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">U</span></code></span></dt>
+<dd><p>
+ A URI Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">u</span></code>,
+ <code class="computeroutput"><span class="identifier">u_</span></code></span></dt>
+<dd><p>
+ A URI Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd><p>
+ A String Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd><p>
+ A String Type instance.
+ </p></dd>
+</dl>
+</div>
+<a name="c___network_library.architecture.uri.uri_concepts.uri_concept.valid_expressions"></a><h6>
+<a name="id2869640"></a>
+ <a class="link" href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.uri_concept.valid_expressions">Valid
+ Expressions</a>
+ </h6>
+<p>
+ For any URI, the following expressions must be valid:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Return Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span> <span class="identifier">u_</span><span class="special">(</span><span class="identifier">u</span><span class="special">)</span></code>;
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ U must be Copy constructible.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span> <span class="identifier">u_</span><span class="special">;</span> <span class="identifier">u_</span>
+ <span class="special">=</span> <span class="identifier">u</span><span class="special">;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ U must be Assignable.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span> <span class="identifier">u_</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>;
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+ </td>
+<td>
+ <p>
+ U can be constructed from a string <code class="computeroutput"><span class="identifier">s</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">u</span><span class="special">,</span>
+ <span class="identifier">u_</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ void
+ </p>
+ </td>
+<td>
+ <p>
+ Swap should be availabe via ADL.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">protocol</span><span class="special">(</span><span class="identifier">u</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Return the protocol part of the URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rest</span><span class="special">(</span><span class="identifier">u</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Return the rest of the URI, excluding the protocol part.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">valid</span><span class="special">(</span><span class="identifier">u</span><span class="special">);</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ Return true whether the URI is a valid URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">U</span><span class="special">::</span><span class="identifier">string_type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ U should have a nested type <code class="computeroutput"><span class="identifier">string_type</span></code>
+ of type <code class="computeroutput"><span class="identifier">S</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="section" title="HTTP URI">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="c___network_library.architecture.uri.uri_concepts.http_uri"></a><a class="link" href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.http_uri" title="HTTP URI">
+ HTTP URI</a>
+</h5></div></div></div>
+<p>
+ A type models the HTTP URI Concept if the type adheres to the following
+ usage semantics, and if the type also models the URI Concept.
+ </p>
+<div class="variablelist" title="Notation">
+<p class="title"><b>Notation</b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">H</span></code></span></dt>
+<dd><p>
+ An HTTP URI Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">h</span></code>,<code class="computeroutput"><span class="identifier">h_</span></code></span></dt>
+<dd><p>
+ An HTTP URI Type instance.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">S</span></code></span></dt>
+<dd><p>
+ A String Type.
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">s</span></code></span></dt>
+<dd><p>
+ A String Type instance.
+ </p></dd>
+</dl>
+</div>
+<a name="c___network_library.architecture.uri.uri_concepts.http_uri.valid_expressions"></a><h6>
+<a name="id2870228"></a>
+ <a class="link" href="uri_concepts.html#c___network_library.architecture.uri.uri_concepts.http_uri.valid_expressions">Valid
+ Expressions</a>
+ </h6>
+<p>
+ For any HTTP URI, the following expressions must be valid:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Return Type
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">user_info</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the user-info part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">host</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the host part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">port</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ uint32_t
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the port part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">path</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the path part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">query</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the query part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fragment</span><span class="special">(</span><span class="identifier">h</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ S
+ </p>
+ </td>
+<td>
+ <p>
+ Retrieve the fragment part of the HTTP URI.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2008 , 2009, 2010 Glyn Matthews, Dean Michael Berris<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../uri.html"><img src="http://www.boost.org/doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../uri.html"><img src="http://www.boost.org/doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="http://www.boost.org/doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../protocol.html"><img src="http://www.boost.org/doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
View
48 libs/network/doc/html/c___network_library/examples.html
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content=