forked from boostorg/range
91 lines
2.9 KiB
HTML
Executable File
91 lines
2.9 KiB
HTML
Executable File
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<title>Boost.Range History and Acknowledgement </title>
|
|
<link rel="stylesheet" href="style.css" type="text/css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<table border="0" >
|
|
<tr>
|
|
<td><img src="../../../boost.png" border="0" ></td>
|
|
<td><h1 align="center">Boost.Range </h1></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h2 >History and Acknowledgement</h2><a name="History" ></a>
|
|
<p >
|
|
The library was under way for a long time. Dietmar Kühl originally intended
|
|
to submit an <code >array_traits</code> class template which had most of
|
|
the functionality present now, but only for arrays and standard containers.
|
|
I believe this was back in 2001 or 2002.
|
|
</p>
|
|
|
|
<p>
|
|
Meanwhile work on algorithms for containers in various contexts showed the
|
|
need for handling pairs of iterators, and string libraries needed special
|
|
treatment of character arrays. In the end it made sense to formalize the
|
|
minimal requirements of these similar concepts. And the results are the
|
|
Range concepts found in this library. </p>
|
|
|
|
<p>
|
|
The term Range was adopted because of paragraph <code>24.1/7</code> from the
|
|
C++ standard: <blockquote>
|
|
Most of the library's algorithmic templates that operate on data
|
|
structures have interfaces that use ranges. A <i>range</i> is a pair of
|
|
iterators that designate the beginning and end of the computation. A
|
|
range [i, i) is an empty range; in general, a range [i, j) refers to
|
|
the elements in the data structure starting with the one pointed to
|
|
by i and up to but not including the one pointed to by j. Range [i,
|
|
j) is valid if and only if j is reachable from i. The result of the
|
|
application of functions in the library to invalid ranges is
|
|
undefined.
|
|
</blockquote>
|
|
|
|
<p>
|
|
Special thanks goes to
|
|
<ul>
|
|
<li> Pavol Droba for help with documentation and implementation
|
|
<li> Pavel Vozenilek for help with porting the library
|
|
<li> Jonathan Turkanis and John Torjo for help with documentation
|
|
<li> Hartmut Kaiser for being review manager
|
|
<li> Jonathan Turkanis for porting the lib (as far sa possible) to
|
|
vc6 and vc7.
|
|
</ul>
|
|
</p>
|
|
<p>
|
|
The concept checks and their documentation was provided by Daniel Walker.
|
|
|
|
<hr>
|
|
<p>
|
|
© <a name="Copyright" id="Copyright">Copyright</a> Thorsten Ottosen 2008.
|
|
</p>
|
|
|
|
<p>
|
|
Distributed under the Boost Software License, Version 1.0. (See
|
|
accompanying file LICENSE_1_0.txt or copy
|
|
at <a href=
|
|
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)
|
|
</p>
|
|
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|