Boost C++ Libraries Home Libraries People FAQ More

Next

Chapter 1. Range 2.0

Thorsten Ottosen

Neil Groves

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Introduction
Range Concepts
Overview
Single Pass Range
Forward Range
Bidirectional Range
Random Access Range
Concept Checking
Reference
Overview
Range concept implementation
Synopsis
Semantics
Range Adaptors
Introduction and motivation
General Requirements
Reference
Range Algorithms
Introduction and motivation
Mutating algorithms
Non-mutating algorithms
Set algorithms
Heap algorithms
Permutation algorithms
New algorithms
Numeric algorithms
Provided Ranges
any_range
counting_range
istream_range
irange
Utilities
Class iterator_range
Class sub_range
Function combine
Function join
Extending the library
Method 1: provide member functions and nested types
Method 2: provide free-standing functions and specialize metafunctions
Method 3: provide range adaptor implementations
Terminology and style guidelines
Library Headers
General
Adaptors
Algorithm
Algorithm Extensions
Examples
MFC/ATL (courtesy of Shunsuke Sogame)
Requirements
MFC Ranges
ATL Ranges
const Ranges
References
Upgrade version of Boost.Range
Upgrade from version 1.55
Upgrade from version 1.49
Upgrade from version 1.45
Upgrade from version 1.42
Upgrade from version 1.34
Portability
FAQ
History and Acknowledgement

Boost.Range is a collection of concepts and utilities, range-based algorithms, as well as range adaptors that allow for efficient and expressive code.

Using Boost.Range inplace of the standard library alternatives results in more readable code and in many cases greater efficiency.


Next