3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Chapter 1. Range 2.0</title>
5 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="Chapter 1. Range 2.0">
8 <link rel="next" href="range/introduction.html" title="Introduction">
10 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
11 <table cellpadding="2" width="100%"><tr>
12 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
13 <td align="center"><a href="../../../../index.html">Home</a></td>
14 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
15 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
16 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
17 <td align="center"><a href="../../../../more/index.htm">More</a></td>
20 <div class="spirit-nav"><a accesskey="n" href="range/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
22 <div class="titlepage"><div>
23 <div><h2 class="title">
24 <a name="range"></a>Chapter 1. Range 2.0</h2></div>
25 <div><div class="author"><h3 class="author">
26 <span class="firstname">Thorsten</span> <span class="surname">Ottosen</span>
28 <div><div class="author"><h3 class="author">
29 <span class="firstname">Neil</span> <span class="surname">Groves</span>
31 <div><p class="copyright">Copyright © 2003-2010 Thorsten Ottosen,
33 <div><div class="legalnotice">
34 <a name="range.legal"></a><p>
35 Distributed under the Boost Software License, Version 1.0. (See accompanying
36 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
41 <p><b>Table of Contents</b></p>
43 <dt><span class="section"><a href="range/introduction.html">Introduction</a></span></dt>
44 <dt><span class="section"><a href="range/concepts.html">Range Concepts</a></span></dt>
46 <dt><span class="section"><a href="range/concepts/overview.html">Overview</a></span></dt>
47 <dt><span class="section"><a href="range/concepts/single_pass_range.html">Single Pass Range</a></span></dt>
48 <dt><span class="section"><a href="range/concepts/forward_range.html">Forward Range</a></span></dt>
49 <dt><span class="section"><a href="range/concepts/bidirectional_range.html">Bidirectional Range</a></span></dt>
50 <dt><span class="section"><a href="range/concepts/random_access_range.html">Random Access Range</a></span></dt>
51 <dt><span class="section"><a href="range/concepts/concept_checking.html">Concept Checking</a></span></dt>
53 <dt><span class="section"><a href="range/reference.html">Reference</a></span></dt>
55 <dt><span class="section"><a href="range/reference/overview.html">Overview</a></span></dt>
56 <dt><span class="section"><a href="range/reference/concept_implementation.html">Range concept
57 implementation</a></span></dt>
59 <dt><span class="section"><a href="range/reference/concept_implementation/synopsis.html">Synopsis</a></span></dt>
60 <dt><span class="section"><a href="range/reference/concept_implementation/semantics.html">Semantics</a></span></dt>
62 <dt><span class="section"><a href="range/reference/adaptors.html">Range Adaptors</a></span></dt>
64 <dt><span class="section"><a href="range/reference/adaptors/introduction.html">Introduction
65 and motivation</a></span></dt>
66 <dt><span class="section"><a href="range/reference/adaptors/general_requirements.html">General
67 Requirements</a></span></dt>
68 <dt><span class="section"><a href="range/reference/adaptors/reference.html">Reference</a></span></dt>
70 <dt><span class="section"><a href="range/reference/algorithms.html">Range Algorithms</a></span></dt>
72 <dt><span class="section"><a href="range/reference/algorithms/introduction.html">Introduction
73 and motivation</a></span></dt>
74 <dt><span class="section"><a href="range/reference/algorithms/mutating.html">Mutating algorithms</a></span></dt>
75 <dt><span class="section"><a href="range/reference/algorithms/non_mutating.html">Non-mutating
76 algorithms</a></span></dt>
77 <dt><span class="section"><a href="range/reference/algorithms/set.html">Set algorithms</a></span></dt>
78 <dt><span class="section"><a href="range/reference/algorithms/heap.html">Heap algorithms</a></span></dt>
79 <dt><span class="section"><a href="range/reference/algorithms/permutation.html">Permutation
80 algorithms</a></span></dt>
81 <dt><span class="section"><a href="range/reference/algorithms/new.html">New algorithms</a></span></dt>
82 <dt><span class="section"><a href="range/reference/algorithms/numeric.html">Numeric algorithms</a></span></dt>
84 <dt><span class="section"><a href="range/reference/ranges.html">Provided Ranges</a></span></dt>
86 <dt><span class="section"><a href="range/reference/ranges/any_range.html">any_range</a></span></dt>
87 <dt><span class="section"><a href="range/reference/ranges/counting_range.html">counting_range</a></span></dt>
88 <dt><span class="section"><a href="range/reference/ranges/istream_range.html">istream_range</a></span></dt>
89 <dt><span class="section"><a href="range/reference/ranges/irange.html">irange</a></span></dt>
91 <dt><span class="section"><a href="range/reference/utilities.html">Utilities</a></span></dt>
93 <dt><span class="section"><a href="range/reference/utilities/iterator_range.html">Class <code class="computeroutput"><span class="identifier">iterator_range</span></code></a></span></dt>
94 <dt><span class="section"><a href="range/reference/utilities/sub_range.html">Class <code class="computeroutput"><span class="identifier">sub_range</span></code></a></span></dt>
95 <dt><span class="section"><a href="range/reference/utilities/combine.html">Function combine</a></span></dt>
96 <dt><span class="section"><a href="range/reference/utilities/join.html">Function join</a></span></dt>
98 <dt><span class="section"><a href="range/reference/extending.html">Extending the library</a></span></dt>
100 <dt><span class="section"><a href="range/reference/extending/method_1.html">Method 1: provide
101 member functions and nested types</a></span></dt>
102 <dt><span class="section"><a href="range/reference/extending/method_2.html">Method 2: provide
103 free-standing functions and specialize metafunctions</a></span></dt>
104 <dt><span class="section"><a href="range/reference/extending/method_3.html">Method 3: provide
105 range adaptor implementations</a></span></dt>
108 <dt><span class="section"><a href="range/style_guide.html">Terminology and style guidelines</a></span></dt>
109 <dt><span class="section"><a href="range/headers.html">Library Headers</a></span></dt>
111 <dt><span class="section"><a href="range/headers/general.html">General</a></span></dt>
112 <dt><span class="section"><a href="range/headers/adaptors.html">Adaptors</a></span></dt>
113 <dt><span class="section"><a href="range/headers/algorithm.html">Algorithm</a></span></dt>
114 <dt><span class="section"><a href="range/headers/algorithm_ext.html">Algorithm Extensions</a></span></dt>
116 <dt><span class="section"><a href="range/examples.html">Examples</a></span></dt>
117 <dt><span class="section"><a href="range/mfc_atl.html">MFC/ATL (courtesy of Shunsuke Sogame)</a></span></dt>
119 <dt><span class="section"><a href="range/mfc_atl/requirements.html">Requirements</a></span></dt>
120 <dt><span class="section"><a href="range/mfc_atl/mfc_ranges.html">MFC Ranges</a></span></dt>
121 <dt><span class="section"><a href="range/mfc_atl/atl_ranges.html">ATL Ranges</a></span></dt>
122 <dt><span class="section"><a href="range/mfc_atl/const_ranges.html">const Ranges</a></span></dt>
123 <dt><span class="section"><a href="range/mfc_atl/references.html">References</a></span></dt>
125 <dt><span class="section"><a href="range/upgrade.html">Upgrade version of Boost.Range</a></span></dt>
127 <dt><span class="section"><a href="range/upgrade/upgrade_from_1_55.html">Upgrade from version
129 <dt><span class="section"><a href="range/upgrade/upgrade_from_1_49.html">Upgrade from version
131 <dt><span class="section"><a href="range/upgrade/upgrade_from_1_45.html">Upgrade from version
133 <dt><span class="section"><a href="range/upgrade/upgrade_from_1_42.html">Upgrade from version
135 <dt><span class="section"><a href="range/upgrade/upgrade_from_1_34.html">Upgrade from version
138 <dt><span class="section"><a href="range/portability.html">Portability</a></span></dt>
139 <dt><span class="section"><a href="range/faq.html">FAQ</a></span></dt>
140 <dt><span class="section"><a href="range/history_ack.html">History and Acknowledgement</a></span></dt>
144 Boost.Range is a collection of concepts and utilities, range-based algorithms,
145 as well as range adaptors that allow for efficient and expressive code.
148 Using Boost.Range inplace of the standard library alternatives results in more
149 readable code and in many cases greater efficiency.
152 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
153 <td align="left"><p><small>Last revised: December 10, 2019 at 00:22:10 GMT</small></p></td>
154 <td align="right"><div class="copyright-footer"></div></td>
157 <div class="spirit-nav"><a accesskey="n" href="range/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>