Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80953 - in sandbox/generic/libs/doc: html html/generic html/generic/standard_concepts html/generic/standard_concepts/container_concepts standard_concepts standard_concepts/container_concepts
From: rivorus_at_[hidden]
Date: 2012-10-11 04:09:49


Author: matt_calabrese
Date: 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
New Revision: 80953
URL: http://svn.boost.org/trac/boost/changeset/80953

Log:
Updated Boost.Generic documentation for <container_concepts>.
Added:
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/backemplacementcontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/backinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/container.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/emplacementcontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/frontemplacementcontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/frontinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/insertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberbackemplacementcontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberbackinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/membercontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberemplacementcontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberfrontemplacementcontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberfrontinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberqueuelikecontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberrangeinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberstacklikecontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/queuelikecontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/rangeinsertioncontainer.html (contents, props changed)
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/stacklikecontainer.html (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/back_emplacement_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/back_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/emplacement_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/front_emplacement_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/front_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_back_emplacement_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_back_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_emplacement_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_front_emplacement_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_front_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_queue_like_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_range_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/member_stack_like_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/queue_like_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/range_insertion_container.qbk (contents, props changed)
   sandbox/generic/libs/doc/standard_concepts/container_concepts/stack_like_container.qbk (contents, props changed)
Text files modified:
   sandbox/generic/libs/doc/html/generic/future_direction.html | 6 +++---
   sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts.html | 34 +++++++++++++++++++++++++++++-----
   sandbox/generic/libs/doc/html/standalone_HTML.manifest | 20 ++++++++++++++++++++
   sandbox/generic/libs/doc/standard_concepts/container_concepts.qbk | 21 +++++++++++++++++++++
   4 files changed, 73 insertions(+), 8 deletions(-)

Modified: sandbox/generic/libs/doc/html/generic/future_direction.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/future_direction.html (original)
+++ sandbox/generic/libs/doc/html/generic/future_direction.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -6,12 +6,12 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Generic">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Generic">
-<link rel="prev" href="standard_concepts/container_concepts.html" title="Container Concepts">
+<link rel="prev" href="standard_concepts/container_concepts/stacklikecontainer.html" title="StackLikeContainer">
 <link rel="next" href="acknowledgments.html" title="Acknowledgments">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <div class="spirit-nav">
-<a accesskey="p" href="standard_concepts/container_concepts.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="standard_concepts/container_concepts/stacklikecontainer.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 <div class="section generic_future_direction"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="generic.future_direction"></a><a class="link" href="future_direction.html" title="Future Direction">Future Direction</a>
@@ -26,7 +26,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="standard_concepts/container_concepts.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="standard_concepts/container_concepts/stacklikecontainer.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts.html
==============================================================================
--- sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts.html (original)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -7,16 +7,40 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Generic">
 <link rel="up" href="../standard_concepts.html" title="Standard Concepts">
 <link rel="prev" href="memory_concepts.html" title="Memory Concepts">
-<link rel="next" href="../future_direction.html" title="Future Direction">
+<link rel="next" href="container_concepts/backemplacementcontainer.html" title="BackEmplacementContainer">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <div class="spirit-nav">
-<a accesskey="p" href="memory_concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../standard_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../future_direction.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="memory_concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../standard_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="container_concepts/backemplacementcontainer.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
-<div class="section generic_standard_concepts_container_concepts"><div class="titlepage"><div><div><h3 class="title">
+<div class="section generic_standard_concepts_container_concepts">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="generic.standard_concepts.container_concepts"></a><a class="link" href="container_concepts.html" title="Container Concepts">Container
       Concepts</a>
-</h3></div></div></div></div>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">BackEmplacementContainer</span></dt>
+<dt><span class="section">BackInsertionContainer</span></dt>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">EmplacementContainer</span></dt>
+<dt><span class="section">FrontEmplacementContainer</span></dt>
+<dt><span class="section">FrontInsertionContainer</span></dt>
+<dt><span class="section">InsertionContainer</span></dt>
+<dt><span class="section">MemberBackEmplacementContainer</span></dt>
+<dt><span class="section">MemberBackInsertionContainer</span></dt>
+<dt><span class="section">MemberContainer</span></dt>
+<dt><span class="section">MemberEmplacementContainer</span></dt>
+<dt><span class="section">MemberFrontEmplacementContainer</span></dt>
+<dt><span class="section">MemberFrontInsertionContainer</span></dt>
+<dt><span class="section">MemberInsertionContainer</span></dt>
+<dt><span class="section">MemberQueueLikeContainer</span></dt>
+<dt><span class="section">MemberRangeInsertionContainer</span></dt>
+<dt><span class="section">MemberStackLikeContainer</span></dt>
+<dt><span class="section">QueueLikeContainer</span></dt>
+<dt><span class="section">RangeInsertionContainer</span></dt>
+<dt><span class="section">StackLikeContainer</span></dt>
+</dl></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; 2010-2012 Matt Calabrese<p>
@@ -27,7 +51,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="memory_concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../standard_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../future_direction.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="memory_concepts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../standard_concepts.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="container_concepts/backemplacementcontainer.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/backemplacementcontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/backemplacementcontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>BackEmplacementContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="../container_concepts.html" title="Container Concepts">
+<link rel="next" href="backinsertioncontainer.html" title="BackInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="../container_concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="backinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_backemplacementcontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer"></a><a class="link" href="backemplacementcontainer.html" title="BackEmplacementContainer">BackEmplacementContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backemplacementcontainer.description"></a></span><a class="link" href="backemplacementcontainer.html#generic.standard_concepts.container_concepts.backemplacementcontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by constructing elements at
+ the back of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backemplacementcontainer.definition"></a></span><a class="link" href="backemplacementcontainer.html#generic.standard_concepts.container_concepts.backemplacementcontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer.backemplacementcontainer_definit"></a><p class="title"><b>Table&#160;1.102.&#160;BackEmplacementContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="BackEmplacementContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">BackEmplacementContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">,,,)</span> <span class="identifier">Args</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">emplace_back</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="identifier">c</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;,,,)</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this</span>
+<span class="comment">//, ( requires ( StackLikeContainer&lt;C&gt;, Constructible&lt;typename Container&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom BackEmplacement(C c, Args... args) {</span>
+<span class="comment">// typename Container&lt;C&gt;::value_type(args...) == (emplace_back(c, args...), back(c));</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="comment">//</span>
+<span class="comment">//, ( requires ( requires StackLikeContainer&lt;C&gt;, Constructible&lt;typename Container&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom BackEmplacementPushEquivalence(C c, Args... args) {</span>
+<span class="comment">// (emplace_back(c, args...), back(c)) == (push_back(c, typename Container&lt;C&gt;::value_type(args...)), back(c));</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">BackEmplacementContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">emplace_back</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">StackLikeContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">BackEmplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">emplace_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...),</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">requires</span> <span class="identifier">StackLikeContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">BackEmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">emplace_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...),</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)),</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backemplacementcontainer.header"></a></span><a class="link" href="backemplacementcontainer.html#generic.standard_concepts.container_concepts.backemplacementcontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">back_emplacement_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backemplacementcontainer.section_in_n2914"></a></span><a class="link" href="backemplacementcontainer.html#generic.standard_concepts.container_concepts.backemplacementcontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">BackEmplacementContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backemplacementcontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backemplacementcontainer.differences_from_n2914"></a></span><a class="link" href="backemplacementcontainer.html#generic.standard_concepts.container_concepts.backemplacementcontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../container_concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="backinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/backinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/backinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>BackInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="backemplacementcontainer.html" title="BackEmplacementContainer">
+<link rel="next" href="container.html" title="Container">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="backemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="container.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_backinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer"></a><a class="link" href="backinsertioncontainer.html" title="BackInsertionContainer">BackInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backinsertioncontainer.description"></a></span><a class="link" href="backinsertioncontainer.html#generic.standard_concepts.container_concepts.backinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by adding to the back of the
+ sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backinsertioncontainer.definition"></a></span><a class="link" href="backinsertioncontainer.html#generic.standard_concepts.container_concepts.backinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer.backinsertioncontainer_definitio"></a><p class="title"><b>Table&#160;1.103.&#160;BackInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="BackInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">BackInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">push_back</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&amp;&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">push_back</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;,</span> <span class="identifier">value_type</span><span class="special">&amp;&amp;);</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backinsertioncontainer.header"></a></span><a class="link" href="backinsertioncontainer.html#generic.standard_concepts.container_concepts.backinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">back_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backinsertioncontainer.section_in_n2914"></a></span><a class="link" href="backinsertioncontainer.html#generic.standard_concepts.container_concepts.backinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">BackInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.backinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.backinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="backinsertioncontainer.html#generic.standard_concepts.container_concepts.backinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="backemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="container.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/container.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/container.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,197 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Container</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="backinsertioncontainer.html" title="BackInsertionContainer">
+<link rel="next" href="emplacementcontainer.html" title="EmplacementContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="backinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="emplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_container">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.container"></a><a class="link" href="container.html" title="Container">Container</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.container.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.container.description"></a></span><a class="link" href="container.html#generic.standard_concepts.container_concepts.container.description">Description</a>
+ </h6>
+<p>
+ Describes a container which provides iteration through a sequence of elements
+ stored in the container.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.container.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.container.definition"></a></span><a class="link" href="container.html#generic.standard_concepts.container_concepts.container.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.container.container_definition"></a><p class="title"><b>Table&#160;1.104.&#160;Container Definition</b></p>
+<div class="table-contents"><table class="table" summary="Container Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">Container</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">ObjectType</span><span class="special">)</span> <span class="identifier">value_type</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">typename</span> <span class="identifier">reference</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">reference</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">typename</span> <span class="identifier">const_reference</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">const_reference</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">UnsignedIntegralLike</span><span class="special">)</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">size_type</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">ForwardIterator</span><span class="special">)</span> <span class="identifier">iterator</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">ForwardIterator</span><span class="special">)</span> <span class="identifier">const_iterator</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">const_reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">reference</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">IntegralType</span><span class="special">&lt;</span><span class="identifier">size_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">&gt;</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">iterator</span><span class="special">)(</span><span class="identifier">begin</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="identifier">begin</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;))</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">iterator</span><span class="special">)(</span><span class="identifier">end</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="identifier">end</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="identifier">cbegin</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;)</span> <span class="identifier">c</span> <span class="special">),</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="identifier">cend</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;)</span> <span class="identifier">c</span> <span class="special">),</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">reference</span><span class="special">)(</span><span class="identifier">front</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="identifier">c</span> <span class="special">),</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">AccessFront</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">ContainerSize</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">empty</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span>
+ <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">ObjectType</span> <span class="identifier">value_type</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typename</span> <span class="identifier">reference</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typename</span> <span class="identifier">const_reference</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">const_reference</span><span class="special">;</span>
+ <span class="identifier">UnsignedIntegralLike</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">size_type</span><span class="special">;</span>
+
+ <span class="identifier">ForwardIterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="identifier">ForwardIterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+
+ <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">const_reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">reference</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span>
+ <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">IntegralType</span><span class="special">&lt;</span><span class="identifier">size_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">&gt;;</span>
+
+ <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span>
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span> <span class="special">}</span>
+
+ <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;);</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;);</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;);</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;);</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">cbegin</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">cend</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span>
+ <span class="identifier">reference</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span>
+ <span class="identifier">const_reference</span> <span class="identifier">front</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">AccessFront</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">ContainerSize</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="identifier">empty</span><span class="special">(</span><span class="identifier">c</span><span class="special">);</span>
+ <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.container.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.container.additional_requirements"></a></span><a class="link" href="container.html#generic.standard_concepts.container_concepts.container.additional_requirements">Additional
+ Requirements</a>
+ </h6>
+<p>
+ For a (possibly <code class="computeroutput"><span class="keyword">const</span></code>-qualified)
+ container <code class="computeroutput"><span class="identifier">c</span></code>, <code class="computeroutput"><span class="special">[</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span></code> is
+ a valid range.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.container.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.container.header"></a></span><a class="link" href="container.html#generic.standard_concepts.container_concepts.container.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.container.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.container.section_in_n2914"></a></span><a class="link" href="container.html#generic.standard_concepts.container_concepts.container.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">Container</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.container.h5"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.container.differences_from_n2914"></a></span><a class="link" href="container.html#generic.standard_concepts.container_concepts.container.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="backinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="emplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/emplacementcontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/emplacementcontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>EmplacementContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="container.html" title="Container">
+<link rel="next" href="frontemplacementcontainer.html" title="FrontEmplacementContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="container.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="frontemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_emplacementcontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer"></a><a class="link" href="emplacementcontainer.html" title="EmplacementContainer">EmplacementContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.emplacementcontainer.description"></a></span><a class="link" href="emplacementcontainer.html#generic.standard_concepts.container_concepts.emplacementcontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by constructing elements at
+ any position within the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.emplacementcontainer.definition"></a></span><a class="link" href="emplacementcontainer.html#generic.standard_concepts.container_concepts.emplacementcontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer.emplacementcontainer_definition"></a><p class="title"><b>Table&#160;1.105.&#160;EmplacementContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="EmplacementContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">EmplacementContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">,,,)</span> <span class="identifier">Args</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">iterator</span><span class="special">)(</span><span class="identifier">emplace</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="identifier">c</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span><span class="special">)</span> <span class="identifier">position</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Args</span><span class="special"
>&amp;&amp;,,,)</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this</span>
+<span class="comment">//, ( requires ( Constructible&lt;typename Container&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom Emplacement(C c, const_iterator position, Args... args) {</span>
+<span class="comment">// typename Container&lt;C&gt;::value_type(args...) == *emplace(c, position, args...);</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="comment">//</span>
+<span class="comment">//, ( requires ( InsertionContainer&lt;C&gt;, Constructible&lt;typename Container&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom EmplacementPushEquivalence(C c, const_iterator position, Args... args) {</span>
+<span class="comment">// *emplace(c, position, args...) == *insert(c, position, value_type(args...));</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">EmplacementContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">iterator</span> <span class="identifier">emplace</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">Emplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">requires</span> <span class="identifier">InsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">EmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">*</span><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.emplacementcontainer.header"></a></span><a class="link" href="emplacementcontainer.html#generic.standard_concepts.container_concepts.emplacementcontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">emplacement_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.emplacementcontainer.section_in_n2914"></a></span><a class="link" href="emplacementcontainer.html#generic.standard_concepts.container_concepts.emplacementcontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">EmplacementContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.emplacementcontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.emplacementcontainer.differences_from_n2914"></a></span><a class="link" href="emplacementcontainer.html#generic.standard_concepts.container_concepts.emplacementcontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="container.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="frontemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/frontemplacementcontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/frontemplacementcontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>FrontEmplacementContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="emplacementcontainer.html" title="EmplacementContainer">
+<link rel="next" href="frontinsertioncontainer.html" title="FrontInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="emplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="frontinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_frontemplacementcontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer"></a><a class="link" href="frontemplacementcontainer.html" title="FrontEmplacementContainer">FrontEmplacementContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.description"></a></span><a class="link" href="frontemplacementcontainer.html#generic.standard_concepts.container_concepts.frontemplacementcontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by constructing elements at
+ the front of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.definition"></a></span><a class="link" href="frontemplacementcontainer.html#generic.standard_concepts.container_concepts.frontemplacementcontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.frontemplacementcontainer_defini"></a><p class="title"><b>Table&#160;1.106.&#160;FrontEmplacementContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="FrontEmplacementContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">FrontEmplacementContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">,,,)</span> <span class="identifier">Args</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">emplace_front</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="identifier">c</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;,,,)</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">FrontEmplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">FrontInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">FrontEmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">FrontEmplacementContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">FrontEmplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">requires</span> <span class="identifier">FrontInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">FrontEmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.header"></a></span><a class="link" href="frontemplacementcontainer.html#generic.standard_concepts.container_concepts.frontemplacementcontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">front_emplacement_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.section_in_n2914"></a></span><a class="link" href="frontemplacementcontainer.html#generic.standard_concepts.container_concepts.frontemplacementcontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">FrontEmplacementContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontemplacementcontainer.differences_from_n2914"></a></span><a class="link" href="frontemplacementcontainer.html#generic.standard_concepts.container_concepts.frontemplacementcontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="emplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="frontinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/frontinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/frontinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>FrontInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="frontemplacementcontainer.html" title="FrontEmplacementContainer">
+<link rel="next" href="insertioncontainer.html" title="InsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="frontemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="insertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_frontinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer"></a><a class="link" href="frontinsertioncontainer.html" title="FrontInsertionContainer">FrontInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.description"></a></span><a class="link" href="frontinsertioncontainer.html#generic.standard_concepts.container_concepts.frontinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by adding elements to the front
+ of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.definition"></a></span><a class="link" href="frontinsertioncontainer.html#generic.standard_concepts.container_concepts.frontinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.frontinsertioncontainer_definiti"></a><p class="title"><b>Table&#160;1.107.&#160;FrontInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="FrontInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">FrontInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">push_front</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&amp;&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">FrontInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">x</span><span class="special">),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">FrontInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;,</span> <span class="identifier">value_type</span><span class="special">&amp;&amp;);</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">FrontInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">x</span><span class="special">),</span> <span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.header"></a></span><a class="link" href="frontinsertioncontainer.html#generic.standard_concepts.container_concepts.frontinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">front_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.section_in_n2914"></a></span><a class="link" href="frontinsertioncontainer.html#generic.standard_concepts.container_concepts.frontinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">FrontInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.frontinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="frontinsertioncontainer.html#generic.standard_concepts.container_concepts.frontinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="frontemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="insertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/insertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/insertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>InsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="frontinsertioncontainer.html" title="FrontInsertionContainer">
+<link rel="next" href="memberbackemplacementcontainer.html" title="MemberBackEmplacementContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="frontinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberbackemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_insertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.insertioncontainer"></a><a class="link" href="insertioncontainer.html" title="InsertionContainer">InsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.insertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.insertioncontainer.description"></a></span><a class="link" href="insertioncontainer.html#generic.standard_concepts.container_concepts.insertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by inserting elements at any
+ position within the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.insertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.insertioncontainer.definition"></a></span><a class="link" href="insertioncontainer.html#generic.standard_concepts.container_concepts.insertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.insertioncontainer.insertioncontainer_definition"></a><p class="title"><b>Table&#160;1.108.&#160;InsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="InsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">InsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">iterator</span><span class="special">)(</span><span class="identifier">insert</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span><span class="special">),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class
="identifier">value_type</span><span class="special">&amp;&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">Insertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">v</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">InsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">Container</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">iterator</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;,</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&amp;&amp;);</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">Insertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">v</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.insertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.insertioncontainer.header"></a></span><a class="link" href="insertioncontainer.html#generic.standard_concepts.container_concepts.insertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.insertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.insertioncontainer.section_in_n2914"></a></span><a class="link" href="insertioncontainer.html#generic.standard_concepts.container_concepts.insertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">InsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.insertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.insertioncontainer.differences_from_n2914"></a></span><a class="link" href="insertioncontainer.html#generic.standard_concepts.container_concepts.insertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="frontinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberbackemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberbackemplacementcontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberbackemplacementcontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberBackEmplacementContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="insertioncontainer.html" title="InsertionContainer">
+<link rel="next" href="memberbackinsertioncontainer.html" title="MemberBackInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="insertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberbackinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberbackemplacementcontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer"></a><a class="link" href="memberbackemplacementcontainer.html" title="MemberBackEmplacementContainer">MemberBackEmplacementContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.description"></a></span><a class="link" href="memberbackemplacementcontainer.html#generic.standard_concepts.container_concepts.memberbackemplacementcontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by constructing elements at the back of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.definition"></a></span><a class="link" href="memberbackemplacementcontainer.html#generic.standard_concepts.container_concepts.memberbackemplacementcontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.memberbackemplacementcontainer_d"></a><p class="title"><b>Table&#160;1.109.&#160;MemberBackEmplacementContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberBackEmplacementContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberBackEmplacementContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">,,,)</span> <span class="identifier">Args</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">emplace_back</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;,,,)</span> <span class="identifier">args</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this</span>
+<span class="comment">//, ( requires ( MemberStackLikeContainer&lt;C&gt;, Constructible&lt;typename MemberBackInsertionContainer&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom MemberBackEmplacement(C c, Args... args) {</span>
+<span class="comment">// typename MemberBackInsertionContainer&lt;C&gt;::value_type(args...) == (c.emplace_back(args...), c.back());</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="comment">//</span>
+<span class="comment">//, ( requires ( MemberStackLikeContainer&lt;C&gt;, Constructible&lt;typename MemberBackInsertionContainer&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom MemberBackEmplacementPushEquivalence(C c, Args... args) {</span>
+<span class="comment">// (c.emplace_back(args...), c.back()) == (c.push_back(value_type(args...)), c.back());</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberBackEmplacementContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">emplace_back</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">MemberStackLikeContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">MemberBackEmplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">emplace_back</span><span class="special">(</span><span class="identifier">args</span><span class="special">...),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">());</span>
+ <span class="special">}</span>
+
+ <span class="keyword">requires</span> <span class="identifier">MemberStackLikeContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">MemberBackEmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">emplace_back</span><span class="special">(</span><span class="identifier">args</span><span class="special">...),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">())</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">());</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.header"></a></span><a class="link" href="memberbackemplacementcontainer.html#generic.standard_concepts.container_concepts.memberbackemplacementcontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_back_emplacement_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.section_in_n2914"></a></span><a class="link" href="memberbackemplacementcontainer.html#generic.standard_concepts.container_concepts.memberbackemplacementcontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberBackEmplacementContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackemplacementcontainer.differences_from_n2914"></a></span><a class="link" href="memberbackemplacementcontainer.html#generic.standard_concepts.container_concepts.memberbackemplacementcontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="insertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberbackinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberbackinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberbackinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberBackInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberbackemplacementcontainer.html" title="MemberBackEmplacementContainer">
+<link rel="next" href="membercontainer.html" title="MemberContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberbackemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="membercontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberbackinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer"></a><a class="link" href="memberbackinsertioncontainer.html" title="MemberBackInsertionContainer">MemberBackInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.description"></a></span><a class="link" href="memberbackinsertioncontainer.html#generic.standard_concepts.container_concepts.memberbackinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by adding elements to the back of the container.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.definition"></a></span><a class="link" href="memberbackinsertioncontainer.html#generic.standard_concepts.container_concepts.memberbackinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.memberbackinsertioncontainer_def"></a><p class="title"><b>Table&#160;1.110.&#160;MemberBackInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberBackInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberBackInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">push_back</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&amp;&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">value_type</span><span class="special">&amp;&amp;);</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.header"></a></span><a class="link" href="memberbackinsertioncontainer.html#generic.standard_concepts.container_concepts.memberbackinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_back_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.section_in_n2914"></a></span><a class="link" href="memberbackinsertioncontainer.html#generic.standard_concepts.container_concepts.memberbackinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberBackInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberbackinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="memberbackinsertioncontainer.html#generic.standard_concepts.container_concepts.memberbackinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberbackemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="membercontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/membercontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/membercontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,204 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberbackinsertioncontainer.html" title="MemberBackInsertionContainer">
+<link rel="next" href="memberemplacementcontainer.html" title="MemberEmplacementContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberbackinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_membercontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.membercontainer"></a><a class="link" href="membercontainer.html" title="MemberContainer">MemberContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.membercontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.membercontainer.description"></a></span><a class="link" href="membercontainer.html#generic.standard_concepts.container_concepts.membercontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, which provides iteration
+ through a sequence of elements stored in the container.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.membercontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.membercontainer.definition"></a></span><a class="link" href="membercontainer.html#generic.standard_concepts.container_concepts.membercontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.membercontainer.membercontainer_definition"></a><p class="title"><b>Table&#160;1.111.&#160;MemberContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">ObjectType</span><span class="special">)</span> <span class="identifier">value_type</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">typename</span> <span class="identifier">reference</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">reference</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">typename</span> <span class="identifier">const_reference</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">const_reference</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">UnsignedIntegralLike</span><span class="special">)</span> <span class="identifier">size_type</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">size_type</span> <span class="special">)</span>
+
+<span class="comment">// TODO make this auto deduction work from the return type of begin</span>
+<span class="comment">//, ( (ForwardIterator) iterator )</span>
+<span class="comment">//, ( (ForwardIterator) const_iterator )</span>
+
+<span class="comment">// NOTE: the standard doesn't have these defaults (they're deduced)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">ForwardIterator</span><span class="special">)</span> <span class="identifier">iterator</span> <span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">iterator</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">ForwardIterator</span><span class="special">)</span> <span class="identifier">const_iterator</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">const_reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">reference</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">&gt;</span>
+ <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">IntegralType</span><span class="special">&lt;</span><span class="identifier">size_type</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">&gt;</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">bool</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">empty</span><span class="special">)()</span> <span class="keyword">const</span><span class="special">,</span> <span class="special">{</span> <span class="keyword">return</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">();</span> <span class="special">}</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">size_type</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">size</span><span class="special">)()</span> <span class="keyword">const</span><span class="special">,</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">(),</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">());</span> <span class="special">}</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">begin</span><span class="special">)()</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">begin</span><span class="special">)()</span> <span class="keyword">const</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">end</span><span class="special">)()</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">end</span><span class="special">)()</span> <span class="keyword">const</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">cbegin</span><span class="special">)()</span> <span class="keyword">const</span><span class="special">,</span> <span class="special">{</span> <span class="keyword">return</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span> <span class="special">}</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">cend</span><span class="special">)()</span> <span class="keyword">const</span><span class="special">,</span> <span class="special">{</span> <span class="keyword">return</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">();</span> <span class="special">}</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">reference</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">front</span><span class="special">)(),</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span> <span class="special">}</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="identifier">const_reference</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">front</span><span class="special">)()</span> <span class="keyword">const</span><span class="special">,</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span> <span class="special">}</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">MemberAccessFront</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">!=</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">MemberContainerSize</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="special">==</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">empty</span><span class="special">();</span>
+ <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">!=</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">ObjectType</span> <span class="identifier">value_type</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typename</span> <span class="identifier">reference</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">reference</span><span class="special">;</span>
+ <span class="keyword">typename</span> <span class="identifier">const_reference</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">const_reference</span><span class="special">;</span>
+ <span class="identifier">UnsignedIntegralLike</span> <span class="identifier">size_type</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">size_type</span><span class="special">;</span>
+
+ <span class="identifier">ForwardIterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="identifier">ForwardIterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+
+ <span class="keyword">requires</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">const_reference</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;&gt;;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span> <span class="identifier">const_iterator</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">reference</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">const_reference</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">SameType</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span>
+ <span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">IntegralType</span><span class="special">&lt;</span><span class="identifier">size_type</span><span class="special">&gt;</span>
+ <span class="special">&amp;&amp;</span> <span class="identifier">Convertible</span><span class="special">&lt;</span><span class="identifier">ForwardIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">difference_type</span><span class="special">,</span> <span class="identifier">size_type</span><span class="special">&gt;;</span>
+
+ <span class="keyword">bool</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">();</span> <span class="special">}</span>
+ <span class="identifier">size_type</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">distance</span><span class="special">(</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">(),</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">());</span> <span class="special">}</span>
+
+ <span class="identifier">iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">end</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">cbegin</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span> <span class="special">}</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">cend</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">end</span><span class="special">();</span> <span class="special">}</span>
+ <span class="identifier">reference</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">front</span><span class="special">()</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span> <span class="special">}</span>
+ <span class="identifier">const_reference</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">front</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="special">*</span><span class="keyword">this</span><span class="special">-&gt;</span><span class="identifier">begin</span><span class="special">();</span> <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">MemberAccessFront</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">!=</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">();</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">MemberContainerSize</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="special">==</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">empty</span><span class="special">();</span>
+ <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">!=</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">&gt;</span> <span class="number">0</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.membercontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.membercontainer.additional_requirements"></a></span><a class="link" href="membercontainer.html#generic.standard_concepts.container_concepts.membercontainer.additional_requirements">Additional
+ Requirements</a>
+ </h6>
+<p>
+ For a (possibly <code class="computeroutput"><span class="keyword">const</span></code>-qualified)
+ container <code class="computeroutput"><span class="identifier">c</span></code>, <code class="computeroutput"><span class="special">[</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span></code> is a valid range.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.membercontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.membercontainer.header"></a></span><a class="link" href="membercontainer.html#generic.standard_concepts.container_concepts.membercontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.membercontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.membercontainer.section_in_n2914"></a></span><a class="link" href="membercontainer.html#generic.standard_concepts.container_concepts.membercontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.membercontainer.h5"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.membercontainer.differences_from_n2914"></a></span><a class="link" href="membercontainer.html#generic.standard_concepts.container_concepts.membercontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberbackinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberemplacementcontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberemplacementcontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberEmplacementContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="membercontainer.html" title="MemberContainer">
+<link rel="next" href="memberfrontemplacementcontainer.html" title="MemberFrontEmplacementContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="membercontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberfrontemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberemplacementcontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer"></a><a class="link" href="memberemplacementcontainer.html" title="MemberEmplacementContainer">MemberEmplacementContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.description"></a></span><a class="link" href="memberemplacementcontainer.html#generic.standard_concepts.container_concepts.memberemplacementcontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by constructing elements at any position within the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.definition"></a></span><a class="link" href="memberemplacementcontainer.html#generic.standard_concepts.container_concepts.memberemplacementcontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.memberemplacementcontainer_defin"></a><p class="title"><b>Table&#160;1.112.&#160;MemberEmplacementContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberEmplacementContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberEmplacementContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">,,,)</span> <span class="identifier">Args</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">emplace</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span><span class="special">)</span> <span class="identifier">position</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;,,,)</span> <span class="identifier">args</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this NOTE the standard has a redundant MemberInsertionContainer requirement on the second conditional axiom</span>
+<span class="comment">//, ( requires ( Constructible&lt;typename MemberInsertionContainer&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom MemberEmplacement(C c, typename MemberInsertionContainer&lt;C&gt;::const_iterator position, Args... args) {</span>
+<span class="comment">// typename MemberInsertionContainer&lt;C&gt;::value_type(args...) == *c.emplace(position, args...);</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="comment">//, ( requires ( MemberInsertionContainer&lt;C&gt;, Constructible&lt;typename MemberInsertionContainer&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom MemberEmplacementPushEquivalence(C c, typename MemberInsertionContainer&lt;C&gt;::const_iterator position, Args... args) {</span>
+<span class="comment">// *c.emplace(position, args...) == *c.insert(position, typename MemberInsertionContainer&lt;C&gt;::value_type(args...));</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberEmplacementContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">MemberEmplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">position</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...);</span>
+ <span class="special">}</span>
+
+ <span class="keyword">requires</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">MemberEmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">emplace</span><span class="special">(</span><span class="identifier">position</span><span class="special">,</span> <span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">position</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...));</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.header"></a></span><a class="link" href="memberemplacementcontainer.html#generic.standard_concepts.container_concepts.memberemplacementcontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_emplacement_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.section_in_n2914"></a></span><a class="link" href="memberemplacementcontainer.html#generic.standard_concepts.container_concepts.memberemplacementcontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberEmplacementContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberemplacementcontainer.differences_from_n2914"></a></span><a class="link" href="memberemplacementcontainer.html#generic.standard_concepts.container_concepts.memberemplacementcontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="membercontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberfrontemplacementcontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberfrontemplacementcontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberfrontemplacementcontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,130 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberFrontEmplacementContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberemplacementcontainer.html" title="MemberEmplacementContainer">
+<link rel="next" href="memberfrontinsertioncontainer.html" title="MemberFrontInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberfrontinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberfrontemplacementcontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer"></a><a class="link" href="memberfrontemplacementcontainer.html" title="MemberFrontEmplacementContainer">MemberFrontEmplacementContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.description"></a></span><a class="link" href="memberfrontemplacementcontainer.html#generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by placing a newlyconstructed object at the front of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.definition"></a></span><a class="link" href="memberfrontemplacementcontainer.html#generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.memberfrontemplacementcontainer_"></a><p class="title"><b>Table&#160;1.113.&#160;MemberFrontEmplacementContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberFrontEmplacementContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberFrontEmplacementContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">,,,)</span> <span class="identifier">Args</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">emplace_front</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;,,,)</span> <span class="identifier">args</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this</span>
+<span class="comment">//, ( requires ( Constructible&lt;typename MemberContainer&lt;C&gt;::value_type, Args...&gt; )</span>
+<span class="comment">// axiom MemberFrontEmplacement(C c, Args... args) {</span>
+<span class="comment">// value_type(args...) == (c.emplace_front(args...), c.front());</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="comment">//</span>
+<span class="comment">//, ( requires ( MemberFrontInsertionContainer&lt;C&gt;, Constructible&lt;value_type, Args...&gt; )</span>
+<span class="comment">// axiom MemberFrontEmplacementPushEquivalence(C c, Args... args) {</span>
+<span class="comment">// (c.emplace_front(args...), c.front()) == (c.push_front(value_type(args...)), c.front());</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberFrontEmplacementContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span><span class="special">...</span> <span class="identifier">Args</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">Args</span><span class="special">&amp;&amp;...</span> <span class="identifier">args</span><span class="special">);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">MemberFrontEmplacement</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">args</span><span class="special">...),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">());</span>
+ <span class="special">}</span>
+
+ <span class="keyword">requires</span> <span class="identifier">MemberFrontInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">&amp;&amp;</span> <span class="identifier">Constructible</span><span class="special">&lt;</span><span class="identifier">value_type</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...&gt;</span>
+ <span class="keyword">axiom</span> <span class="identifier">MemberFrontEmplacementPushEquivalence</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">Args</span><span class="special">...</span> <span class="identifier">args</span><span class="special">)</span> <span class="special">{</span>
+ <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">emplace_front</span><span class="special">(</span><span class="identifier">args</span><span class="special">...),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">())</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">value_type</span><span class="special">(</span><span class="identifier">args</span><span class="special">...)),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">());</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.header"></a></span><a class="link" href="memberfrontemplacementcontainer.html#generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_front_emplacement_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.section_in_n2914"></a></span><a class="link" href="memberfrontemplacementcontainer.html#generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberFrontEmplacementContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.differences_from_n2914"></a></span><a class="link" href="memberfrontemplacementcontainer.html#generic.standard_concepts.container_concepts.memberfrontemplacementcontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberfrontinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberfrontinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberfrontinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberFrontInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberfrontemplacementcontainer.html" title="MemberFrontEmplacementContainer">
+<link rel="next" href="memberinsertioncontainer.html" title="MemberInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberfrontemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberfrontinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer"></a><a class="link" href="memberfrontinsertioncontainer.html" title="MemberFrontInsertionContainer">MemberFrontInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.description"></a></span><a class="link" href="memberfrontinsertioncontainer.html#generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by adding elements to the front of the container
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.definition"></a></span><a class="link" href="memberfrontinsertioncontainer.html#generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.memberfrontinsertioncontainer_de"></a><p class="title"><b>Table&#160;1.114.&#160;MemberFrontInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberFrontInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberFrontInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">push_front</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&amp;&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">MemberFrontInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">());</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberFrontInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">value_type</span><span class="special">&amp;&amp;);</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">MemberFrontInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">());</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.header"></a></span><a class="link" href="memberfrontinsertioncontainer.html#generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_front_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.section_in_n2914"></a></span><a class="link" href="memberfrontinsertioncontainer.html#generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberFrontInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="memberfrontinsertioncontainer.html#generic.standard_concepts.container_concepts.memberfrontinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberfrontemplacementcontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberfrontinsertioncontainer.html" title="MemberFrontInsertionContainer">
+<link rel="next" href="memberqueuelikecontainer.html" title="MemberQueueLikeContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberfrontinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberqueuelikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer"></a><a class="link" href="memberinsertioncontainer.html" title="MemberInsertionContainer">MemberInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.description"></a></span><a class="link" href="memberinsertioncontainer.html#generic.standard_concepts.container_concepts.memberinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by inserting elements at any position within the container.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.definition"></a></span><a class="link" href="memberinsertioncontainer.html#generic.standard_concepts.container_concepts.memberinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.memberinsertioncontainer_definit"></a><p class="title"><b>Table&#160;1.115.&#160;MemberInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">iterator</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">insert</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span><span class="special">),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><
span class="special">&gt;::</span><span class="identifier">value_type</span><span class="special">&amp;&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">MemberInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">v</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">position</span><span class="special">,</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">iterator</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">const_iterator</span><span class="special">,</span> <span class="identifier">value_type</span><span class="special">&amp;&amp;);</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">MemberInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">v</span> <span class="special">==</span> <span class="special">*</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">position</span><span class="special">,</span> <span class="identifier">v</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.header"></a></span><a class="link" href="memberinsertioncontainer.html#generic.standard_concepts.container_concepts.memberinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.section_in_n2914"></a></span><a class="link" href="memberinsertioncontainer.html#generic.standard_concepts.container_concepts.memberinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="memberinsertioncontainer.html#generic.standard_concepts.container_concepts.memberinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberfrontinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberqueuelikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberqueuelikecontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberqueuelikecontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberQueueLikeContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberinsertioncontainer.html" title="MemberInsertionContainer">
+<link rel="next" href="memberrangeinsertioncontainer.html" title="MemberRangeInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberrangeinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberqueuelikecontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer"></a><a class="link" href="memberqueuelikecontainer.html" title="MemberQueueLikeContainer">MemberQueueLikeContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.description"></a></span><a class="link" href="memberqueuelikecontainer.html#generic.standard_concepts.container_concepts.memberqueuelikecontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by adding elements to the back or removing elements from the front of the
+ container.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.definition"></a></span><a class="link" href="memberqueuelikecontainer.html#generic.standard_concepts.container_concepts.memberqueuelikecontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.memberqueuelikecontainer_definit"></a><p class="title"><b>Table&#160;1.116.&#160;MemberQueueLikeContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberQueueLikeContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberQueueLikeContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">pop_front</span><span class="special">)()</span> <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberQueueLikeContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">pop_front</span><span class="special">();</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.header"></a></span><a class="link" href="memberqueuelikecontainer.html#generic.standard_concepts.container_concepts.memberqueuelikecontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_queue_like_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.section_in_n2914"></a></span><a class="link" href="memberqueuelikecontainer.html#generic.standard_concepts.container_concepts.memberqueuelikecontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberQueueLikeContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberqueuelikecontainer.differences_from_n2914"></a></span><a class="link" href="memberqueuelikecontainer.html#generic.standard_concepts.container_concepts.memberqueuelikecontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberrangeinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberrangeinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberrangeinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberRangeInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberqueuelikecontainer.html" title="MemberQueueLikeContainer">
+<link rel="next" href="memberstacklikecontainer.html" title="MemberStackLikeContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberqueuelikecontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberstacklikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberrangeinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer"></a><a class="link" href="memberrangeinsertioncontainer.html" title="MemberRangeInsertionContainer">MemberRangeInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.description"></a></span><a class="link" href="memberrangeinsertioncontainer.html#generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by inserting a sequence of elements at any position within the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.definition"></a></span><a class="link" href="memberrangeinsertioncontainer.html#generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.memberrangeinsertioncontainer_de"></a><p class="title"><b>Table&#160;1.117.&#160;MemberRangeInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberRangeInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberRangeInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">Iter</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">InputIterator</span><span class="special">&lt;</span><span class="identifier">Iter</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">insert</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span><span class="special">)</span> <span class="identifier">position</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Iter</span><span class="special">)</span> <span class="identifier">first</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Iter</span><span class="special">)</span> <span class="identifier">last</spa
n><span class="special">)</span> <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberRangeInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iter</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">requires</span> <span class="identifier">InputIterator</span><span class="special">&lt;</span><span class="identifier">Iter</span><span class="special">&gt;;</span>
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Iter</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iter</span> <span class="identifier">last</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.header"></a></span><a class="link" href="memberrangeinsertioncontainer.html#generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_range_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.section_in_n2914"></a></span><a class="link" href="memberrangeinsertioncontainer.html#generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberRangeInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="memberrangeinsertioncontainer.html#generic.standard_concepts.container_concepts.memberrangeinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberqueuelikecontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="memberstacklikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberstacklikecontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/memberstacklikecontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>MemberStackLikeContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberrangeinsertioncontainer.html" title="MemberRangeInsertionContainer">
+<link rel="next" href="queuelikecontainer.html" title="QueueLikeContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberrangeinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="queuelikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_memberstacklikecontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer"></a><a class="link" href="memberstacklikecontainer.html" title="MemberStackLikeContainer">MemberStackLikeContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.description"></a></span><a class="link" href="memberstacklikecontainer.html#generic.standard_concepts.container_concepts.memberstacklikecontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container, in terms of member functions, that can be modified
+ by adding or removing elements from the back of the container.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.definition"></a></span><a class="link" href="memberstacklikecontainer.html#generic.standard_concepts.container_concepts.memberstacklikecontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.memberstacklikecontainer_definit"></a><p class="title"><b>Table&#160;1.118.&#160;MemberStackLikeContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="MemberStackLikeContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_AUTO_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">MemberStackLikeContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">back</span><span class="special">)()</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_reference</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">back</span><span class="special">)()</span> <span class="keyword">const</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="keyword">this</span><span class="special">(</span><span class="identifier">C</span><span class="special">)</span> <span class="identifier">pop_back</span><span class="special">)()</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this</span>
+<span class="comment">//, ( requires ( BidirectionalIterator&lt;typename MemberBackInsertionContainer&lt;C&gt;::iterator&gt; )</span>
+<span class="comment">// axiom MemberAccessBack(C c) {</span>
+<span class="comment">// if (c.begin() != c.end()) c.back() == *(--c.end());</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">MemberBackInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">());</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">MemberBackRemoval</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">c</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_back</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">auto</span> <span class="keyword">concept</span> <span class="identifier">MemberStackLikeContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">MemberBackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">reference</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">back</span><span class="special">();</span>
+ <span class="identifier">const_reference</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">back</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">void</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">pop_back</span><span class="special">();</span>
+
+ <span class="keyword">requires</span> <span class="identifier">BidirectionalIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span> <span class="keyword">axiom</span> <span class="identifier">MemberAccessBack</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">!=</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span> <span class="special">==</span> <span class="special">*(--</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">MemberBackInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">());</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">MemberBackRemoval</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">c</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">x</span><span class="special">),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_back</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.header"></a></span><a class="link" href="memberstacklikecontainer.html#generic.standard_concepts.container_concepts.memberstacklikecontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">member_stack_like_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.section_in_n2914"></a></span><a class="link" href="memberstacklikecontainer.html#generic.standard_concepts.container_concepts.memberstacklikecontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">MemberStackLikeContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.member</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.memberstacklikecontainer.differences_from_n2914"></a></span><a class="link" href="memberstacklikecontainer.html#generic.standard_concepts.container_concepts.memberstacklikecontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberrangeinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="queuelikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/queuelikecontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/queuelikecontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>QueueLikeContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="memberstacklikecontainer.html" title="MemberStackLikeContainer">
+<link rel="next" href="rangeinsertioncontainer.html" title="RangeInsertionContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="memberstacklikecontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="rangeinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_queuelikecontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer"></a><a class="link" href="queuelikecontainer.html" title="QueueLikeContainer">QueueLikeContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.queuelikecontainer.description"></a></span><a class="link" href="queuelikecontainer.html#generic.standard_concepts.container_concepts.queuelikecontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by adding elements to the back
+ or removing elements from the front of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.queuelikecontainer.definition"></a></span><a class="link" href="queuelikecontainer.html#generic.standard_concepts.container_concepts.queuelikecontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer.queuelikecontainer_definition"></a><p class="title"><b>Table&#160;1.119.&#160;QueueLikeContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="QueueLikeContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">QueueLikeContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">pop_front</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">QueueLikeContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;);</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.queuelikecontainer.header"></a></span><a class="link" href="queuelikecontainer.html#generic.standard_concepts.container_concepts.queuelikecontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">queue_like_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.queuelikecontainer.section_in_n2914"></a></span><a class="link" href="queuelikecontainer.html#generic.standard_concepts.container_concepts.queuelikecontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">QueueLikeContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.queuelikecontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.queuelikecontainer.differences_from_n2914"></a></span><a class="link" href="queuelikecontainer.html#generic.standard_concepts.container_concepts.queuelikecontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="memberstacklikecontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="rangeinsertioncontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/rangeinsertioncontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/rangeinsertioncontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>RangeInsertionContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="queuelikecontainer.html" title="QueueLikeContainer">
+<link rel="next" href="stacklikecontainer.html" title="StackLikeContainer">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="queuelikecontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="stacklikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_rangeinsertioncontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer"></a><a class="link" href="rangeinsertioncontainer.html" title="RangeInsertionContainer">RangeInsertionContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.description"></a></span><a class="link" href="rangeinsertioncontainer.html#generic.standard_concepts.container_concepts.rangeinsertioncontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by inserting a sequence of elements
+ at any position within the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.definition"></a></span><a class="link" href="rangeinsertioncontainer.html#generic.standard_concepts.container_concepts.rangeinsertioncontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.rangeinsertioncontainer_definiti"></a><p class="title"><b>Table&#160;1.120.&#160;RangeInsertionContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="RangeInsertionContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">RangeInsertionContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span><span class="special">,</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">Iter</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">InsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">requires</span> <span class="identifier">InputIterator</span><span class="special">&lt;</span><span class="identifier">Iter</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">insert</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;),</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">InsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_iterator</span><span class="special">)</span> <span class="identifier">position</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Iter</span><span class="special">)</span> <span class="identifier">first</span><span class="special">,</span> <span class="special">(</span><span class="identifier">Iter</span><span class="special">)</span> <span class="identifier">last</span><span class="special">)</span>
<span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">RangeInsertionContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Iter</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">InsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="keyword">requires</span> <span class="identifier">InputIterator</span><span class="special">&lt;</span><span class="identifier">Iter</span><span class="special">&gt;;</span>
+ <span class="keyword">void</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;,</span> <span class="identifier">const_iterator</span> <span class="identifier">position</span><span class="special">,</span> <span class="identifier">Iter</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">Iter</span> <span class="identifier">last</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.header"></a></span><a class="link" href="rangeinsertioncontainer.html#generic.standard_concepts.container_concepts.rangeinsertioncontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">range_insertion_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.section_in_n2914"></a></span><a class="link" href="rangeinsertioncontainer.html#generic.standard_concepts.container_concepts.rangeinsertioncontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">RangeInsertionContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.rangeinsertioncontainer.differences_from_n2914"></a></span><a class="link" href="rangeinsertioncontainer.html#generic.standard_concepts.container_concepts.rangeinsertioncontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="queuelikecontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="stacklikecontainer.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/stacklikecontainer.html
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/html/generic/standard_concepts/container_concepts/stacklikecontainer.html 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,142 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>StackLikeContainer</title>
+<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Generic">
+<link rel="up" href="../container_concepts.html" title="Container Concepts">
+<link rel="prev" href="rangeinsertioncontainer.html" title="RangeInsertionContainer">
+<link rel="next" href="../../future_direction.html" title="Future Direction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="spirit-nav">
+<a accesskey="p" href="rangeinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../future_direction.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section generic_standard_concepts_container_concepts_stacklikecontainer">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer"></a><a class="link" href="stacklikecontainer.html" title="StackLikeContainer">StackLikeContainer</a>
+</h4></div></div></div>
+<h6>
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer.h0"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.stacklikecontainer.description"></a></span><a class="link" href="stacklikecontainer.html#generic.standard_concepts.container_concepts.stacklikecontainer.description">Description</a>
+ </h6>
+<p>
+ Describes a container that can be modified by adding or removing elements
+ from the back of the sequence.
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer.h1"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.stacklikecontainer.definition"></a></span><a class="link" href="stacklikecontainer.html#generic.standard_concepts.container_concepts.stacklikecontainer.definition">Definition</a>
+ </h6>
+<div class="table">
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer.stacklikecontainer_definition"></a><p class="title"><b>Table&#160;1.121.&#160;StackLikeContainer Definition</b></p>
+<div class="table-contents"><table class="table" summary="StackLikeContainer Definition">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Boost.Generic Definition
+ </p>
+ </th>
+<th>
+ <p>
+ N2914 Definition
+ </p>
+ </th>
+</tr></thead>
+<tbody><tr>
+<td>
+<pre class="programlisting"><span class="identifier">BOOST_GENERIC_CONCEPT</span>
+<span class="special">(</span> <span class="special">(</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">,</span> <span class="identifier">generic</span><span class="special">,</span> <span class="identifier">std_concept</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span><span class="identifier">StackLikeContainer</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">typename</span><span class="special">)</span> <span class="identifier">C</span> <span class="special">),</span> <span class="special">(</span> <span class="keyword">public</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">reference</span><span class="special">)(</span><span class="identifier">back</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">typename</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">const_reference</span><span class="special">)(</span><span class="identifier">back</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="special">(</span><span class="keyword">void</span><span class="special">)(</span><span class="identifier">pop_back</span><span class="special">)(</span> <span class="special">(</span><span class="identifier">C</span><span class="special">&amp;)</span> <span class="special">)</span> <span class="special">)</span>
+
+<span class="comment">// TODO support this syntax for requirement-dependent axioms</span>
+<span class="comment">//, ( requires ( BidirectionalIterator&lt;typename BackInsertionContainer&lt;C&gt;::iterator&gt; )</span>
+<span class="comment">// axiom AccessBack(C c) {</span>
+<span class="comment">// if (begin(c) != end(c)) back(c) == *(--end(c));</span>
+<span class="comment">// }</span>
+<span class="comment">// )</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">BackInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">x</span><span class="special">),</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+
+<span class="special">,</span> <span class="special">(</span> <span class="keyword">axiom</span> <span class="identifier">BackRemoval</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">c</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">x</span><span class="special">),</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">),</span> <span class="identifier">c</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">)</span>
+<span class="special">)</span>
+</pre>
+ </td>
+<td>
+<pre class="programlisting"><span class="keyword">concept</span> <span class="identifier">StackLikeContainer</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">&gt;</span> <span class="special">:</span> <span class="identifier">BackInsertionContainer</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span> <span class="special">{</span>
+ <span class="identifier">reference</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;);</span>
+ <span class="identifier">const_reference</span> <span class="identifier">back</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">C</span><span class="special">&amp;);</span>
+
+ <span class="keyword">void</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">C</span><span class="special">&amp;);</span>
+
+ <span class="keyword">requires</span> <span class="identifier">BidirectionalIterator</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span> <span class="keyword">axiom</span> <span class="identifier">AccessBack</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">)</span> <span class="special">{</span>
+ <span class="keyword">if</span> <span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">))</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">==</span> <span class="special">*(--</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">BackInsertion</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">x</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">x</span><span class="special">),</span> <span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">));</span>
+ <span class="special">}</span>
+
+ <span class="keyword">axiom</span> <span class="identifier">BackRemoval</span><span class="special">(</span><span class="identifier">C</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">c</span> <span class="special">==</span> <span class="special">(</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">x</span><span class="special">),</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">),</span> <span class="identifier">c</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+</pre>
+ </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h6>
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer.h2"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.stacklikecontainer.header"></a></span><a class="link" href="stacklikecontainer.html#generic.standard_concepts.container_concepts.stacklikecontainer.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">generic</span><span class="special">/</span><span class="identifier">std_concept</span><span class="special">/</span><span class="identifier">container_concepts</span><span class="special">/</span><span class="identifier">stack_like_container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer.h3"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.stacklikecontainer.section_in_n2914"></a></span><a class="link" href="stacklikecontainer.html#generic.standard_concepts.container_concepts.stacklikecontainer.section_in_n2914">Section
+ in N2914</a>
+ </h6>
+<p>
+ The corresponding definition of <code class="computeroutput"><span class="identifier">StackLikeContainer</span></code>
+ may be found in the N2914
+ section [<span class="emphasis"><em>container.concepts.free</em></span>].
+ </p>
+<h6>
+<a name="generic.standard_concepts.container_concepts.stacklikecontainer.h4"></a>
+ <span class="phrase"><a name="generic.standard_concepts.container_concepts.stacklikecontainer.differences_from_n2914"></a></span><a class="link" href="stacklikecontainer.html#generic.standard_concepts.container_concepts.stacklikecontainer.differences_from_n2914">Differences
+ From N2914</a>
+ </h6>
+<p>
+ TODO: Fill this in
+ </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; 2010-2012 Matt Calabrese<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rangeinsertioncontainer.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../container_concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../future_direction.html"><img src="../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/generic/libs/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/generic/libs/doc/html/standalone_HTML.manifest (original)
+++ sandbox/generic/libs/doc/html/standalone_HTML.manifest 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -107,5 +107,25 @@
 generic/standard_concepts/iterator_concepts.html
 generic/standard_concepts/memory_concepts.html
 generic/standard_concepts/container_concepts.html
+generic/standard_concepts/container_concepts/backemplacementcontainer.html
+generic/standard_concepts/container_concepts/backinsertioncontainer.html
+generic/standard_concepts/container_concepts/container.html
+generic/standard_concepts/container_concepts/emplacementcontainer.html
+generic/standard_concepts/container_concepts/frontemplacementcontainer.html
+generic/standard_concepts/container_concepts/frontinsertioncontainer.html
+generic/standard_concepts/container_concepts/insertioncontainer.html
+generic/standard_concepts/container_concepts/memberbackemplacementcontainer.html
+generic/standard_concepts/container_concepts/memberbackinsertioncontainer.html
+generic/standard_concepts/container_concepts/membercontainer.html
+generic/standard_concepts/container_concepts/memberemplacementcontainer.html
+generic/standard_concepts/container_concepts/memberfrontemplacementcontainer.html
+generic/standard_concepts/container_concepts/memberfrontinsertioncontainer.html
+generic/standard_concepts/container_concepts/memberinsertioncontainer.html
+generic/standard_concepts/container_concepts/memberqueuelikecontainer.html
+generic/standard_concepts/container_concepts/memberrangeinsertioncontainer.html
+generic/standard_concepts/container_concepts/memberstacklikecontainer.html
+generic/standard_concepts/container_concepts/queuelikecontainer.html
+generic/standard_concepts/container_concepts/rangeinsertioncontainer.html
+generic/standard_concepts/container_concepts/stacklikecontainer.html
 generic/future_direction.html
 generic/acknowledgments.html

Modified: sandbox/generic/libs/doc/standard_concepts/container_concepts.qbk
==============================================================================
--- sandbox/generic/libs/doc/standard_concepts/container_concepts.qbk (original)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -8,4 +8,25 @@
 
 [section Container Concepts]
 
+[include container_concepts/back_emplacement_container.qbk]
+[include container_concepts/back_insertion_container.qbk]
+[include container_concepts/container.qbk]
+[include container_concepts/emplacement_container.qbk]
+[include container_concepts/front_emplacement_container.qbk]
+[include container_concepts/front_insertion_container.qbk]
+[include container_concepts/insertion_container.qbk]
+[include container_concepts/member_back_emplacement_container.qbk]
+[include container_concepts/member_back_insertion_container.qbk]
+[include container_concepts/member_container.qbk]
+[include container_concepts/member_emplacement_container.qbk]
+[include container_concepts/member_front_emplacement_container.qbk]
+[include container_concepts/member_front_insertion_container.qbk]
+[include container_concepts/member_insertion_container.qbk]
+[include container_concepts/member_queue_like_container.qbk]
+[include container_concepts/member_range_insertion_container.qbk]
+[include container_concepts/member_stack_like_container.qbk]
+[include container_concepts/queue_like_container.qbk]
+[include container_concepts/range_insertion_container.qbk]
+[include container_concepts/stack_like_container.qbk]
+
 [endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/back_emplacement_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/back_emplacement_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,49 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section BackEmplacementContainer]
+
+[heading Description]
+Describes a container that can be modified by constructing elements at the back
+of the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/back_emplacement_container.hpp]
+
+[table BackEmplacementContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[BackEmplacementContainer]]
+[``
+concept BackEmplacementContainer<typename C, typename... Args> : Container<C> {
+ void emplace_back(C& c, Args&&... args);
+
+ requires StackLikeContainer<C> && Constructible<value_type, Args...>
+ axiom BackEmplacement(C c, Args... args) {
+ value_type(args...) == (emplace_back(c, args...), back(c));
+ }
+
+ requires StackLikeContainer<C> && Constructible<value_type, Args...>
+ axiom BackEmplacementPushEquivalence(C c, Args... args) {
+ (emplace_back(c, args...), back(c)) == (push_back(c, value_type(args...)), back(c));
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/back_emplacement_container.hpp>
+
+[section_in_n2914_heading `BackEmplacementContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/back_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/back_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,39 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section BackInsertionContainer]
+
+[heading Description]
+Describes a container that can be modified by adding to the back of the
+sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/back_insertion_container.hpp]
+
+[table BackInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[BackInsertionContainer]]
+[``
+concept BackInsertionContainer<typename C> : Container<C> {
+ void push_back(C&, value_type&&);
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/back_insertion_container.hpp>
+
+[section_in_n2914_heading `BackInsertionContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,83 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section Container]
+
+[heading Description]
+Describes a container which provides iteration through a sequence of elements
+stored in the container.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/container.hpp]
+
+[table Container Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[Container]]
+[``
+concept Container<typename C> {
+ ObjectType value_type = typename C::value_type;
+ typename reference = typename C::reference;
+ typename const_reference = typename C::const_reference;
+ UnsignedIntegralLike size_type = typename C::size_type;
+
+ ForwardIterator iterator;
+ ForwardIterator const_iterator;
+
+ requires Convertible<reference, const_reference>
+ && Convertible<reference, const value_type&>
+ && Convertible<const_reference, const value_type&>;
+ && Convertible<iterator, const_iterator>
+ && SameType<ForwardIterator<iterator>::value_type, value_type>
+ && SameType<ForwardIterator<const_iterator>::value_type, value_type>
+ && Convertible<ForwardIterator<iterator>::reference, reference>
+ && Convertible<ForwardIterator<const_iterator>::reference, const_reference>
+ && SameType<ForwardIterator<iterator>::difference_type,
+ ForwardIterator<const_iterator>::difference_type>
+ && IntegralType<size_type>
+ && Convertible<ForwardIterator<iterator>::difference_type, size_type>;
+
+ bool empty(const C& c) { return begin(c) == end(c); }
+ size_type size(const C& c) { return distance(begin(c), end(c)); }
+
+ iterator begin(C&);
+ const_iterator begin(const C&);
+ iterator end(C&);
+ const_iterator end(const C&);
+ const_iterator cbegin(const C& c) { return begin(c); }
+ const_iterator cend(const C& c) { return end(c); }
+ reference front(C& c) { return *begin(c); }
+ const_reference front(const C& c) { return *begin(c); }
+
+ axiom AccessFront(C c) {
+ if (begin(c) != end(c)) front(c) == *begin(c);
+ }
+
+ axiom ContainerSize(C c) {
+ (begin(c) == end(c)) == empty(c);
+ (begin(c) != end(c)) == (size(c) > 0);
+ }
+}
+``]]
+]
+
+[heading Additional Requirements]
+For a (possibly `const`-qualified) container `c`, `[begin(c), end(c))` is a
+valid range.
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/container.hpp>
+
+[section_in_n2914_heading `Container`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/emplacement_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/emplacement_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,49 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section EmplacementContainer]
+
+[heading Description]
+Describes a container that can be modified by constructing elements at any
+position within the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/emplacement_container.hpp]
+
+[table EmplacementContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[EmplacementContainer]]
+[``
+concept EmplacementContainer<typename C, typename... Args> : Container<C> {
+ iterator emplace(C& c, const_iterator position, Args&&... args);
+
+ requires Constructible<value_type, Args...>
+ axiom Emplacement(C c, const_iterator position, Args... args) {
+ value_type(args...) == *emplace(c, position, args...);
+ }
+
+ requires InsertionContainer<C> && Constructible<value_type, Args...>
+ axiom EmplacementPushEquivalence(C c, const_iterator position, Args... args) {
+ *emplace(c, position, args...) == *insert(c, position, value_type(args...));
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/emplacement_container.hpp>
+
+[section_in_n2914_heading `EmplacementContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/front_emplacement_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/front_emplacement_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,49 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section FrontEmplacementContainer]
+
+[heading Description]
+Describes a container that can be modified by constructing elements at the front
+of the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/front_emplacement_container.hpp]
+
+[table FrontEmplacementContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[FrontEmplacementContainer]]
+[``
+concept FrontEmplacementContainer<typename C, typename... Args> : Container<C> {
+ void emplace_front(C& c, Args&&... args);
+
+ requires Constructible<value_type, Args...>
+ axiom FrontEmplacement(C c, Args... args) {
+ value_type(args...) == (emplace_front(c, args...), front(c));
+ }
+
+ requires FrontInsertionContainer<C> && Constructible<value_type, Args...>
+ axiom FrontEmplacementPushEquivalence(C c, Args... args) {
+ (emplace_front(c, args...), front(c)) == (push_front(c, value_type(args...)), front(c));
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/front_emplacement_container.hpp>
+
+[section_in_n2914_heading `FrontEmplacementContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/front_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/front_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,43 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section FrontInsertionContainer]
+
+[heading Description]
+Describes a container that can be modified by adding elements to the front of
+the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/front_insertion_container.hpp]
+
+[table FrontInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[FrontInsertionContainer]]
+[``
+concept FrontInsertionContainer<typename C> : Container<C> {
+ void push_front(C&, value_type&&);
+
+ axiom FrontInsertion(C c, value_type x) {
+ x == (push_front(c, x), front(c));
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/front_insertion_container.hpp>
+
+[section_in_n2914_heading `FrontInsertionContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,43 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section InsertionContainer]
+
+[heading Description]
+Describes a container that can be modified by inserting elements at any position
+within the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/insertion_container.hpp]
+
+[table InsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[InsertionContainer]]
+[``
+concept InsertionContainer<typename C> : Container<C> {
+ iterator insert(C&, const_iterator, value_type&&);
+
+ axiom Insertion(C c, const_iterator position, value_type v) {
+ v == *insert(c, position, v);
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/insertion_container.hpp>
+
+[section_in_n2914_heading `InsertionContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_back_emplacement_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_back_emplacement_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,49 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberBackEmplacementContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+constructing elements at the back of the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_back_emplacement_container.hpp]
+
+[table MemberBackEmplacementContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberBackEmplacementContainer]]
+[``
+auto concept MemberBackEmplacementContainer<typename C, typename... Args> : MemberBackInsertionContainer<C> {
+ void C::emplace_back(Args&&... args);
+
+ requires MemberStackLikeContainer<C> && Constructible<value_type, Args...>
+ axiom MemberBackEmplacement(C c, Args... args) {
+ value_type(args...) == (c.emplace_back(args...), c.back());
+ }
+
+ requires MemberStackLikeContainer<C> && Constructible<value_type, Args...>
+ axiom MemberBackEmplacementPushEquivalence(C c, Args... args) {
+ (c.emplace_back(args...), c.back()) == (c.push_back(value_type(args...)), c.back());
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_back_emplacement_container.hpp>
+
+[section_in_n2914_heading `MemberBackEmplacementContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_back_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_back_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,39 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberBackInsertionContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+adding elements to the back of the container.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_back_insertion_container.hpp]
+
+[table MemberBackInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberBackInsertionContainer]]
+[``
+auto concept MemberBackInsertionContainer<typename C> : MemberContainer<C> {
+ void C::push_back(value_type&&);
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_back_insertion_container.hpp>
+
+[section_in_n2914_heading `MemberBackInsertionContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,83 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, which provides iteration
+through a sequence of elements stored in the container.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_container.hpp]
+
+[table MemberContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberContainer]]
+[``
+auto concept MemberContainer<typename C> {
+ ObjectType value_type = typename C::value_type;
+ typename reference = typename C::reference;
+ typename const_reference = typename C::const_reference;
+ UnsignedIntegralLike size_type = typename C::size_type;
+
+ ForwardIterator iterator;
+ ForwardIterator const_iterator;
+
+ requires Convertible<reference, const_reference>
+ && Convertible<reference, const value_type&>
+ && Convertible<const_reference, const value_type&>;
+ && Convertible<iterator, const_iterator>
+ && SameType<ForwardIterator<iterator>::value_type, value_type>
+ && SameType<ForwardIterator<const_iterator>::value_type, value_type>
+ && Convertible<ForwardIterator<iterator>::reference, reference>
+ && Convertible<ForwardIterator<const_iterator>::reference, const_reference>
+ && SameType<ForwardIterator<iterator>::difference_type,
+ ForwardIterator<const_iterator>::difference_type>
+ && IntegralType<size_type>
+ && Convertible<ForwardIterator<iterator>::difference_type, size_type>;
+
+ bool C::empty() const { return this->begin() == this->end(); }
+ size_type C::size() const { return distance(this->begin(), this->end()); }
+
+ iterator C::begin();
+ const_iterator C::begin() const;
+ iterator C::end();
+ const_iterator C::end() const;
+ const_iterator C::cbegin() const { return this->begin(); }
+ const_iterator C::cend() const { return this->end(); }
+ reference C::front() { return *this->begin(); }
+ const_reference C::front() const { return *this->begin(); }
+
+ axiom MemberAccessFront(C c) {
+ if (c.begin() != c.end()) c.front() == *c.begin();
+ }
+
+ axiom MemberContainerSize(C c) {
+ (c.begin() == c.end()) == c.empty();
+ (c.begin() != c.end()) == (c.size() > 0);
+ }
+}
+``]]
+]
+
+[heading Additional Requirements]
+For a (possibly `const`-qualified) container `c`, `[c.begin(), c.end())` is a
+valid range.
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_container.hpp>
+
+[section_in_n2914_heading `MemberContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_emplacement_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_emplacement_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,49 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberEmplacementContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+constructing elements at any position within the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_emplacement_container.hpp]
+
+[table MemberEmplacementContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberEmplacementContainer]]
+[``
+auto concept MemberEmplacementContainer<typename C, typename... Args> : MemberInsertionContainer<C> {
+ void C::emplace(const_iterator position, Args&&... args);
+
+ requires Constructible<value_type, Args...>
+ axiom MemberEmplacement(C c, const_iterator position, Args... args) {
+ value_type(args...) == *c.emplace(position, args...);
+ }
+
+ requires MemberInsertionContainer<C> && Constructible<value_type, Args...>
+ axiom MemberEmplacementPushEquivalence(C c, const_iterator position, Args... args) {
+ *c.emplace(position, args...) == *c.insert(position, value_type(args...));
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_emplacement_container.hpp>
+
+[section_in_n2914_heading `MemberEmplacementContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_front_emplacement_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_front_emplacement_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,49 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberFrontEmplacementContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+placing a newlyconstructed object at the front of the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_front_emplacement_container.hpp]
+
+[table MemberFrontEmplacementContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberFrontEmplacementContainer]]
+[``
+auto concept MemberFrontEmplacementContainer<typename C, typename... Args> : MemberContainer<C> {
+ void C::emplace_front(Args&&... args);
+
+ requires Constructible<value_type, Args...>
+ axiom MemberFrontEmplacement(C c, Args... args) {
+ value_type(args...) == (c.emplace_front(args...), c.front());
+ }
+
+ requires MemberFrontInsertionContainer<C> && Constructible<value_type, Args...>
+ axiom MemberFrontEmplacementPushEquivalence(C c, Args... args) {
+ (c.emplace_front(args...), c.front()) == (c.push_front(value_type(args...)), c.front());
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_front_emplacement_container.hpp>
+
+[section_in_n2914_heading `MemberFrontEmplacementContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_front_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_front_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,43 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberFrontInsertionContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+adding elements to the front of the container
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_front_insertion_container.hpp]
+
+[table MemberFrontInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberFrontInsertionContainer]]
+[``
+auto concept MemberFrontInsertionContainer<typename C> : MemberContainer<C> {
+ void C::push_front(value_type&&);
+
+ axiom MemberFrontInsertion(C c, value_type x) {
+ x == (c.push_front(x), c.front());
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_front_insertion_container.hpp>
+
+[section_in_n2914_heading `MemberFrontInsertionContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,43 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberInsertionContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+inserting elements at any position within the container.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_insertion_container.hpp]
+
+[table MemberInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberInsertionContainer]]
+[``
+auto concept MemberInsertionContainer<typename C> : MemberContainer<C> {
+ iterator C::insert(const_iterator, value_type&&);
+
+ axiom MemberInsertion(C c, const_iterator position, value_type v) {
+ v == *c.insert(position, v);
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_insertion_container.hpp>
+
+[section_in_n2914_heading `MemberInsertionContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_queue_like_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_queue_like_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,40 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberQueueLikeContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+adding elements to the back or removing elements from the front of the
+container.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_queue_like_container.hpp]
+
+[table MemberQueueLikeContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberQueueLikeContainer]]
+[``
+auto concept MemberQueueLikeContainer<typename C> : MemberBackInsertionContainer<C> {
+ void C::pop_front();
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_queue_like_container.hpp>
+
+[section_in_n2914_heading `MemberQueueLikeContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_range_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_range_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,40 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberRangeInsertionContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+inserting a sequence of elements at any position within the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_range_insertion_container.hpp]
+
+[table MemberRangeInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberRangeInsertionContainer]]
+[``
+auto concept MemberRangeInsertionContainer<typename C, typename Iter> : MemberInsertionContainer<C> {
+ requires InputIterator<Iter>;
+ void C::insert(const_iterator position, Iter first, Iter last);
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_range_insertion_container.hpp>
+
+[section_in_n2914_heading `MemberRangeInsertionContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/member_stack_like_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/member_stack_like_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,54 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section MemberStackLikeContainer]
+
+[heading Description]
+Describes a container, in terms of member functions, that can be modified by
+adding or removing elements from the back of the container.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/member_stack_like_container.hpp]
+
+[table MemberStackLikeContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[MemberStackLikeContainer]]
+[``
+auto concept MemberStackLikeContainer<typename C> : MemberBackInsertionContainer<C> {
+ reference C::back();
+ const_reference C::back() const;
+
+ void C::pop_back();
+
+ requires BidirectionalIterator<iterator> axiom MemberAccessBack(C c) {
+ if (c.begin() != c.end()) c.back() == *(--c.end());
+ }
+
+ axiom MemberBackInsertion(C c, value_type x) {
+ x == (c.push_back(x), c.back());
+ }
+
+ axiom MemberBackRemoval(C c, value_type x) {
+ c == (c.push_back(x), c.pop_back(), c);
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/member_stack_like_container.hpp>
+
+[section_in_n2914_heading `MemberStackLikeContainer`..[['container.concepts.member]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/queue_like_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/queue_like_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,39 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section QueueLikeContainer]
+
+[heading Description]
+Describes a container that can be modified by adding elements to the back or
+removing elements from the front of the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/queue_like_container.hpp]
+
+[table QueueLikeContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[QueueLikeContainer]]
+[``
+concept QueueLikeContainer<typename C> : BackInsertionContainer<C> {
+ void pop_front(C&);
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/queue_like_container.hpp>
+
+[section_in_n2914_heading `QueueLikeContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/range_insertion_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/range_insertion_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,40 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section RangeInsertionContainer]
+
+[heading Description]
+Describes a container that can be modified by inserting a sequence of elements
+at any position within the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/range_insertion_container.hpp]
+
+[table RangeInsertionContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[RangeInsertionContainer]]
+[``
+concept RangeInsertionContainer<typename C, typename Iter> : InsertionContainer<C> {
+ requires InputIterator<Iter>;
+ void insert(C&, const_iterator position, Iter first, Iter last);
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/range_insertion_container.hpp>
+
+[section_in_n2914_heading `RangeInsertionContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]

Added: sandbox/generic/libs/doc/standard_concepts/container_concepts/stack_like_container.qbk
==============================================================================
--- (empty file)
+++ sandbox/generic/libs/doc/standard_concepts/container_concepts/stack_like_container.qbk 2012-10-11 04:09:42 EDT (Thu, 11 Oct 2012)
@@ -0,0 +1,54 @@
+[/==============================================================================
+ Copyright (C) 2012 Matt Calabrese
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================/]
+
+[section StackLikeContainer]
+
+[heading Description]
+Describes a container that can be modified by adding or removing elements from
+the back of the sequence.
+
+[heading Definition]
+
+[import ../../../../include/boost/generic/std_concept/container_concepts/stack_like_container.hpp]
+
+[table StackLikeContainer Definition
+ [[Boost.Generic Definition] [N2914 Definition]]
+ [[[StackLikeContainer]]
+[``
+concept StackLikeContainer<typename C> : BackInsertionContainer<C> {
+ reference back(C&);
+ const_reference back(const C&);
+
+ void pop_back(C&);
+
+ requires BidirectionalIterator<iterator> axiom AccessBack(C c) {
+ if (begin(c) != end(c)) back(c) == *(--end(c));
+ }
+
+ axiom BackInsertion(C c, value_type x) {
+ x == (push_back(c, x), back(c));
+ }
+
+ axiom BackRemoval(C c, value_type x) {
+ c == (push_back(c, x), pop_back(c), c);
+ }
+}
+``]]
+]
+
+[heading Header]
+
+ #include <boost/generic/std_concept/container_concepts/stack_like_container.hpp>
+
+[section_in_n2914_heading `StackLikeContainer`..[['container.concepts.free]]]
+
+[heading Differences From N2914]
+
+TODO: Fill this in
+
+[endsect]


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk