Boost logo

Boost-Commit :

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&lt;int&gt; coll1;
+// ...
+std::vector&lt;int&gt; 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&lt;Base&gt; coll1;
+// ...
+boost::ptr_vector&lt;Base&gt; 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&lt; class PtrContainer &gt;
+ class ptr_back_insert_iterator;
+
+ template&lt; class PtrContainer &gt;
+ class ptr_front_insert_iterator;
+
+ template&lt; class PtrContainer &gt;
+ class ptr_insert_iterator;
+
+ template&lt; class PtrContainer &gt;
+ ptr_back_insert_iterator&lt;PtrContainer&gt;
+ ptr_back_inserter( PtrContainer&amp; cont );
+
+ template&lt; class PtrContainer &gt;
+ ptr_front_insert_iterator&lt;PtrContainer&gt;
+ ptr_front_inserter( PtrContainer&amp; cont );
+
+ template&lt; class PtrContainer &gt;
+ ptr_insert_iterator&lt;PtrContainer&gt;
+ ptr_inserter( PtrContainer&amp; 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
+
+


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