|
Boost-Commit : |
From: grafikrobot_at_[hidden]
Date: 2007-12-06 14:11:55
Author: grafik
Date: 2007-12-06 14:11:55 EST (Thu, 06 Dec 2007)
New Revision: 41800
URL: http://svn.boost.org/trac/boost/changeset/41800
Log:
Fix broken stale link, to point to svn version of the file.
Text files modified:
website/public_html/beta/community/generic_programming.html | 54 ++++++++++++++++++++++-----------------
1 files changed, 31 insertions(+), 23 deletions(-)
Modified: website/public_html/beta/community/generic_programming.html
==============================================================================
--- website/public_html/beta/community/generic_programming.html (original)
+++ website/public_html/beta/community/generic_programming.html 2007-12-06 14:11:55 EST (Thu, 06 Dec 2007)
@@ -9,6 +9,13 @@
<link rel="stylesheet" type="text/css" href=
"/style/section-community.css" />
<!--[if IE]> <style type="text/css"> body { behavior: url(/style/csshover.htc); } </style> <![endif]-->
+
+ <style type="text/css">
+/*<![CDATA[*/
+ a.c2 {font-style: italic}
+ strong.c1 {font-style: italic}
+ /*]]>*/
+ </style>
</head>
<body>
@@ -82,13 +89,14 @@
But what if the data we would like to copy is not in an array?
Perhaps it is in a linked list. Can we generalize the notion of
copy to any sequence of elements? Looking at the body of
- <code>memcpy()</code>, the function's <strong><i>minimal
- requirements</i></strong> are that it needs to <i>traverse</i>
- through the sequence using some sort of pointer, <i>access</i>
- elements pointed to, <i>write</i> the elements to the
- destination, and <i>compare</i> pointers to know when to stop.
- The C++ standard library groups requirements such as these into
- <strong><i>concepts</i></strong>, in this case the <a href=
+ <code>memcpy()</code>, the function's <strong class=
+ "c1">minimal requirements</strong> are that it needs to
+ <i>traverse</i> through the sequence using some sort of
+ pointer, <i>access</i> elements pointed to, <i>write</i> the
+ elements to the destination, and <i>compare</i> pointers to
+ know when to stop. The C++ standard library groups requirements
+ such as these into <strong class="c1">concepts</strong>, in
+ this case the <a href=
"http://www.sgi.com/tech/stl/InputIterator.html">Input
Iterator</a> concept (for <code>region2</code>) and the
<a href="http://www.sgi.com/tech/stl/OutputIterator.html">Output
@@ -143,13 +151,13 @@
<h2><a name="concept" id="concept">Anatomy of a
Concept</a></h2>
- <p>A <strong><i>concept</i></strong> is a set of requirements
- consisting of valid expressions, associated types, invariants,
- and complexity guarantees. A type that satisfies the
- requirements is said to <strong><i>model</i></strong> the
- concept. A concept can extend the requirements of another
- concept, which is called
- <strong><i>refinement</i></strong>.</p>
+ <p>A <strong class="c1">concept</strong> is a set of
+ requirements consisting of valid expressions, associated types,
+ invariants, and complexity guarantees. A type that satisfies
+ the requirements is said to <strong class="c1">model</strong>
+ the concept. A concept can extend the requirements of another
+ concept, which is called <strong class=
+ "c1">refinement</strong>.</p>
<ul>
<li><a name="valid_expression" id=
@@ -263,10 +271,10 @@
"http://www.sgi.com/tech/stl/bidirectional_iterator_tag.html"><code>
bidirectional_iterator_tag</code></a>, or <a href=
"http://www.sgi.com/tech/stl/random_access_iterator_tag.html"><code>
- random_access_iterator_tag</code></a>. A
- <strong><i>tag</i></strong> is simply a class whose only
- purpose is to convey some property for use in tag dispatching
- and similar techniques. Refer to <a href=
+ random_access_iterator_tag</code></a>. A <strong class=
+ "c1">tag</strong> is simply a class whose only purpose is to
+ convey some property for use in tag dispatching and similar
+ techniques. Refer to <a href=
"http://www.sgi.com/tech/stl/iterator_tags.html">this page</a>
for a more detailed description of iterator tags.</p>
<pre>
@@ -325,10 +333,10 @@
<p><strong>Note:</strong> The <i>type generator</i> concept has
largely been superseded by the more refined notion of a
- <a href="/doc/libs/release/libs/mpl/doc/refmanual/metafunction.html">
- <i>metafunction</i></a>. See <i><a href=
- "http://www.boost-consulting.com/mplbook/">C++ Template
- Metaprogramming</a></i> for an in-depth discussion of
+ <a class="c2" href=
+ "/doc/libs/release/libs/mpl/doc/refmanual/metafunction.html">metafunction</a>.
+ See <i><a href="http://www.boost-consulting.com/mplbook/">C++
+ Template Metaprogramming</a></i> for an in-depth discussion of
metafunctions.</p>
<p>A <i>type generator</i> is a template whose only purpose is
@@ -450,7 +458,7 @@
power is derived from granularity and orthogonality.
Less-granular policy interfaces have been shown to work well in
practice, though. <a href=
- "http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/libs/utility/Attic/iterator_adaptors.pdf">
+ "http://svn.boost.org/trac/boost/browser/trunk/boost/libs/utility/iterator_adaptors.pdf?rev=11508&format=raw">
This paper</a> describes an old version of <a href=
"/doc/libs/release/libs/iterator/doc/iterator_adaptor.html"><code>
iterator_adaptor</code></a> that used non-orthogonal policies.
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