$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: nesotto_at_[hidden]
Date: 2008-07-16 16:04:58
Author: nesotto
Date: 2008-07-16 16:04:58 EDT (Wed, 16 Jul 2008)
New Revision: 47484
URL: http://svn.boost.org/trac/boost/changeset/47484
Log:
doc update
Added:
   trunk/libs/ptr_container/doc/ptr_inserter.html   (contents, props changed)
   trunk/libs/ptr_container/doc/ptr_inserter.rst   (contents, props changed)
Added: trunk/libs/ptr_container/doc/ptr_inserter.html
==============================================================================
--- (empty file)
+++ trunk/libs/ptr_container/doc/ptr_inserter.html	2008-07-16 16:04:58 EDT (Wed, 16 Jul 2008)
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.3.10: http://docutils.sourceforge.net/" />
+<title>Boost Pointer Container Library</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger
+:Contact: goodger_at_[hidden]
+:Date: $Date: 2005-09-25 17:49:54 +0200 (Sun, 25 Sep 2005) $
+:Revision: $Revision: 3901 $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* "! important" is used here to override other ``margin-top`` and
+   ``margin-bottom`` styles that are later in the stylesheet or 
+   more specific.  See http://www.w3.org/TR/CSS1#the-cascade */
+.first {
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin-left: 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left {
+  clear: left }
+
+img.align-right {
+  clear: right }
+
+img.borderless {
+  border: 0 }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font-family: serif ;
+  font-size: 100% }
+
+pre.line-block {
+  font-family: serif ;
+  font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+  margin-left: 2em ;
+  margin-right: 2em ;
+  background-color: #eeeeee }
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid thin gray }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid thin black }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+tt.docutils {
+  background-color: #eeeeee }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="boost-pointer-container-library">
+<h1 class="title"><img alt="Boost" src="boost.png" /> Pointer Container Library</h1>
+<h2 class="subtitle" id="insert-iterators">Insert Iterators</h2>
+<p>When you work with normal value-based containers and algorithms, you often
+use insert iterators</p>
+<pre class="literal-block">
+std::list<int> coll1;
+// ...
+std::vector<int> coll2;
+std::copy( coll1.begin(), coll1.end(),  
+           back_inserter(coll2) ); 
+</pre>
+<p>With the special insert iterators for pointer containers, 
+you can do exactly the same</p>
+<pre class="literal-block">
+boost::ptr_list<Base> coll1;
+// ...
+boost::ptr_vector<Base> coll2;
+std::copy( coll1.begin(), coll1.end(),  
+           boost::ptr_container::ptr_back_inserter(coll2) ); 
+</pre>
+<p>Each element is cloned and inserted into the container. Furthermore, 
+if the source range iterates over pointers 
+instead of references, <tt class="docutils literal"><span class="pre">NULL</span></tt> pointers
+can be transfered as well.</p>
+<p><strong>Navigate</strong></p>
+<ul class="simple">
+<li><a class="reference" href="ptr_container.html">home</a></li>
+<li><a class="reference" href="reference.html">reference</a></li>
+</ul>
+<p><strong>Synopsis:</strong></p>
+<pre class="literal-block">
+namespace boost
+{      
+    namespace ptr_container
+    {
+    
+        template< class PtrContainer >
+        class ptr_back_insert_iterator;
+        
+        template< class PtrContainer >
+        class ptr_front_insert_iterator;
+        
+        template< class PtrContainer >
+        class ptr_insert_iterator;
+        
+        template< class PtrContainer >
+        ptr_back_insert_iterator<PtrContainer> 
+        ptr_back_inserter( PtrContainer& cont );
+        
+        template< class PtrContainer >
+        ptr_front_insert_iterator<PtrContainer> 
+        ptr_front_inserter( PtrContainer& cont );
+        
+        template< class PtrContainer >
+        ptr_insert_iterator<PtrContainer> 
+        ptr_inserter( PtrContainer& cont, typename PtrContainer::iterator before );
+         
+    } // namespace 'ptr_container'
+} // namespace 'boost'  
+</pre>
+<hr><table class="docutils field-list" frame="void" rules="none">
+<col class="field-name" />
+<col class="field-body" />
+<tbody valign="top">
+<tr class="field"><th class="field-name">Copyright:</th><td class="field-body">Thorsten Ottosen 2008. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see <a class="reference" href="http://www.boost.org/LICENSE_1_0.txt">LICENSE_1_0.txt</a>).</td>
+</tr>
+</tbody>
+</table>
+</div>
+</body>
+</html>
Added: trunk/libs/ptr_container/doc/ptr_inserter.rst
==============================================================================
--- (empty file)
+++ trunk/libs/ptr_container/doc/ptr_inserter.rst	2008-07-16 16:04:58 EDT (Wed, 16 Jul 2008)
@@ -0,0 +1,79 @@
+++++++++++++++++++++++++++++++++++
+ |Boost| Pointer Container Library
+++++++++++++++++++++++++++++++++++
+ 
+.. |Boost| image:: boost.png
+
+Insert Iterators
+----------------
+
+When you work with normal value-based containers and algorithms, you often
+use insert iterators ::
+
+       std::list<int> coll1;
+       // ...
+       std::vector<int> coll2;
+       std::copy( coll1.begin(), coll1.end(),  
+                  back_inserter(coll2) ); 
+
+With the special insert iterators for pointer containers, 
+you can do exactly the same ::
+            
+       boost::ptr_list<Base> coll1;
+       // ...
+       boost::ptr_vector<Base> coll2;
+       std::copy( coll1.begin(), coll1.end(),  
+                  boost::ptr_container::ptr_back_inserter(coll2) ); 
+
+Each element is cloned and inserted into the container. Furthermore, 
+if the source range iterates over pointers 
+instead of references, ``NULL`` pointers
+can be transfered as well.
+ 
+**Navigate**
+
+- `home <ptr_container.html>`_
+- `reference <reference.html>`_
+    
+**Synopsis:**
+
+::  
+           
+        namespace boost
+        {      
+            namespace ptr_container
+            {
+            
+                template< class PtrContainer >
+                class ptr_back_insert_iterator;
+                
+                template< class PtrContainer >
+                class ptr_front_insert_iterator;
+                
+                template< class PtrContainer >
+                class ptr_insert_iterator;
+                
+                template< class PtrContainer >
+                ptr_back_insert_iterator<PtrContainer> 
+                ptr_back_inserter( PtrContainer& cont );
+                
+                template< class PtrContainer >
+                ptr_front_insert_iterator<PtrContainer> 
+                ptr_front_inserter( PtrContainer& cont );
+                
+                template< class PtrContainer >
+                ptr_insert_iterator<PtrContainer> 
+                ptr_inserter( PtrContainer& cont, typename PtrContainer::iterator before );
+                 
+            } // namespace 'ptr_container'
+        } // namespace 'boost'  
+        
+.. raw:: html 
+
+        <hr>
+
+:Copyright:     Thorsten Ottosen 2008. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt__).
+
+__ http://www.boost.org/LICENSE_1_0.txt
+
+