]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/range/doc/history_ack.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / range / doc / history_ack.qbk
CommitLineData
7c673cae
FG
1[/
2 Copyright 2010 Neil Groves
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5/]
6[section:history_ack History and Acknowledgement]
7
8[heading Version 1 - before Boost 1.43]
9The library have been under way for a long time. Dietmar Kühl originally intended to submit an `array_traits` class template which had most of the functionality present now, but only for arrays and standard containers.
10
11Meanwhile 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.
12
13The term Range was adopted because of paragraph 24.1/7 from the C++ standard:
14
15Most of the library's algorithmic templates that operate on data structures have interfaces that use ranges. A range 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.
16
17Special thanks goes to
18
19* Pavol Droba for help with documentation and implementation
20* Pavel Vozenilek for help with porting the library
21* Jonathan Turkanis and John Torjo for help with documentation
22* Hartmut Kaiser for being review manager
23* Jonathan Turkanis for porting the lib (as far as possible) to vc6 and vc7.
24
25The concept checks and their documentation was provided by Daniel Walker.
26
27[heading Version 2 - Boost 1.43 and beyond]
28This version introduced Range Adaptors and Range Algorithms. This version 2 is
29the result of a merge of all of the RangeEx features into Boost.Range.
30
31There were an enormous number of very significant contributors through all
32stages of this library.
33
34Prior to Boost.RangeEx there had been a number of Range library implementations,
35these include library implementations by Eric Niebler, Adobe,
36Shunsuke Sogame etc. Eric Niebler contributed the Range Adaptor idea which is
37arguably the single biggest innovation in this library. Inevitably a great deal
38of commonality evolved in each of these libraries, but a considerable amount
39of effort was expended to learn from all of the divergent techniques.
40
41The people in the following list all made contributions in the form of reviews,
42user feedback, design suggestions, or defect detection:
43
44* Thorsten Ottosen: review management, design advice, documentation feedback
45* Eric Niebler: early implementation, and review feedback
46* Joel de Guzman: review
47* Mathias Gaunard: review
48* David Abrahams: implementation advice
49* Robert Jones: defect reports, usage feedback
50* Sean Parent: contributed experience from the Adobe range library
51* Arno Schoedl: implementations, and review
52* Rogier van Dalen: review
53* Vincente Botet: review, documentation feedback
54
55Regardless of how I write this section it will never truly fairly capture the
56gratitude that I feel to all who have contributed. Thank you everyone.
57
58[endsect]