Generated on 2019-10-29 from the Ranges TS's draft LaTeX sources by cxxdraft-htmlgen. This is not an ISO publication.

Contents

List of Tables [tab][tab]

1Library categories[tab:library.categories]
2Ranges TS library headers[tab:headers]
3Fundamental concepts library summary[tab:concepts.lib.summary]
4General utilities library summary[tab:util.lib.summary]
5Additional type property predicates[tab:type-traits.properties]
6Other transformations[tab:type-traits.other]
7Iterators library summary[tab:iterators.lib.summary]
8Relations among iterator categories[tab:iterators.relations]
9Ranges library summary[tab:ranges.lib.summary]
10Relations among range categories[tab:ranges.relations]
11Algorithms library summary[tab:algorithms.summary]

1 Scope [intro.scope][intro.scope]

2 Normative References [intro.refs][intro.refs]

3 Terms and definitions [intro.defs][intro.defs]

3.1 constant subexpression [defns.const.subexpr]

3.2 expression-equivalent [defns.expr.equiv]

4 General principles [intro][intro]

4.1 Implementation compliance [intro.compliance]

4.2 Namespaces, headers, and modifications to standard classes [intro.namespaces]

5 Statements [stmt][stmt]

5.1 Iteration statements [stmt.iter]

5.1.1 The range-based for statement [stmt.ranged]

6 Library introduction [library][library]

6.2 Method of description (Informative) [description]

6.2.2 Other conventions [conventions]

6.2.2.1 Functions within classes [functions.within.classes]

6.3 Library-wide requirements [requirements]

6.3.1 Library contents and organization [organization]

6.3.1.1 Library contents [contents]

6.3.4 Constraints on programs [constraints]

6.3.4.2 Derived classes [derived.classes]

6.3.4.3 Other functions [res.on.functions]

6.3.4.4 Function arguments [res.on.arguments]

6.3.4.5 Library object access [res.on.objects]

6.3.4.6 Requires paragraph [res.on.required]

6.3.4.7 Semantic requirements [res.on.requirements]

6.3.5 Conforming implementations [conforming]

6.3.5.1 Customization Point Objects [customization.point.object]

7 Concepts library [concepts.lib][concepts.lib]

7.2 Header <experimental/ranges/concepts> synopsis [concepts.lib.synopsis]

8 General utilities library [utilities][utilities]

8.2 Utility components [utility]

8.3 Function objects [function.objects]

8.3.1 Function template invoke [func.invoke]

8.3.2 Comparisons [comparisons]

8.3.3 Class identity [func.identity]

8.4 Metaprogramming and type traits [meta]

8.4.1 Header <experimental/ranges/type_traits> synopsis [meta.type.synop]

8.4.2 Type properties [meta.unary.prop]

8.4.3 Other transformations [meta.trans.other]

8.5 Tagged tuple-like types [taggedtup]

8.5.2 Class template tagged [taggedtup.tagged]

8.5.3 Tuple-like access to tagged [tagged.astuple]

8.5.4 Alias template tagged_pair [tagged.pairs]

8.5.4.1 Tagged pair creation functions [tagged.pairs.creation]

8.5.5 Alias template tagged_tuple [tagged.tuple]

8.5.5.1 Tagged tuple creation functions [tagged.tuple.creation]

9 Iterators library [iterators][iterators]

9.2 Header <experimental/ranges/iterator> synopsis [iterator.synopsis]

9.4 Indirect callable requirements [indirectcallable]

9.4.3 Class template projected [projected]

9.5 Common algorithm requirements [commonalgoreq]

9.5.2 Concept IndirectlyMovable [commonalgoreq.indirectlymovable]

9.5.3 Concept IndirectlyCopyable [commonalgoreq.indirectlycopyable]

9.5.4 Concept IndirectlySwappable [commonalgoreq.indirectlyswappable]

9.5.5 Concept IndirectlyComparable [commonalgoreq.indirectlycomparable]

9.6 Iterator primitives [iterator.primitives]

9.6.1 Iterator traits [iterator.traits]

9.6.2 Standard iterator traits [iterator.stdtraits]

9.6.3 Standard iterator tags [std.iterator.tags]

9.6.4 Iterator operations [iterator.operations]

9.7 Iterator adaptors [iterators.predef]

9.7.2 Insert iterators [iterators.insert]

9.7.2.1 Class template back_insert_iterator [back.insert.iterator]

9.7.2.2 back_insert_iterator operations [back.insert.iter.ops]

9.7.2.2.1 back_insert_iterator constructor [back.insert.iter.cons]

9.7.2.2.2 back_insert_iterator::operator= [back.insert.iter.op=]

9.7.2.2.3 back_insert_iterator::operator* [back.insert.iter.op*]

9.7.2.2.4 back_insert_iterator::operator++ [back.insert.iter.op++]

9.7.2.3 Class template front_insert_iterator [front.insert.iterator]

9.7.2.4 front_insert_iterator operations [front.insert.iter.ops]

9.7.2.4.1 front_insert_iterator constructor [front.insert.iter.cons]

9.7.2.4.2 front_insert_iterator::operator= [front.insert.iter.op=]

9.7.2.4.3 front_insert_iterator::operator* [front.insert.iter.op*]

9.7.2.4.4 front_insert_iterator::operator++ [front.insert.iter.op++]

9.7.2.5 Class template insert_iterator [insert.iterator]

9.7.2.6 insert_iterator operations [insert.iter.ops]

9.7.2.6.1 insert_iterator constructor [insert.iter.cons]

9.7.2.6.2 insert_iterator::operator= [insert.iter.op=]

9.7.2.6.3 insert_iterator::operator* [insert.iter.op*]

9.7.2.6.4 insert_iterator::operator++ [insert.iter.op++]

9.7.3 Move iterators and sentinels [iterators.move]

9.7.3.1 Class template move_iterator [move.iterator]

9.7.3.2 move_iterator operations [move.iter.ops]

9.7.3.2.1 move_iterator constructors [move.iter.op.const]

9.7.3.2.2 move_iterator::operator= [move.iter.op=]

9.7.3.2.3 move_iterator conversion [move.iter.op.conv]

9.7.3.2.4 move_iterator::operator* [move.iter.op.star]

9.7.3.2.5 move_iterator::operator++ [move.iter.op.incr]

9.7.3.2.6 move_iterator::operator-- [move.iter.op.decr]

9.7.3.2.7 move_iterator::operator+ [move.iter.op.+]

9.7.3.2.8 move_iterator::operator+= [move.iter.op.+=]

9.7.3.2.9 move_iterator::operator- [move.iter.op.-]

9.7.3.2.10 move_iterator::operator-= [move.iter.op.-=]

9.7.3.2.11 move_iterator::operator[] [move.iter.op.index]

9.7.3.2.12 move_iterator comparisons [move.iter.op.comp]

9.7.3.2.13 move_iterator non-member functions [move.iter.nonmember]

9.7.3.3 Class template move_sentinel [move.sentinel]

9.7.3.4 move_sentinel operations [move.sent.ops]

9.7.3.4.1 move_sentinel constructors [move.sent.op.const]

9.7.3.4.2 move_sentinel::operator= [move.sent.op=]

9.7.3.4.3 move_sentinel comparisons [move.sent.op.comp]

9.7.3.4.4 move_sentinel non-member functions [move.sent.nonmember]

9.7.4 Common iterators [iterators.common]

9.7.4.1 Class template common_iterator [common.iterator]

9.7.4.2 common_iterator operations [common.iter.ops]

9.7.4.2.1 common_iterator constructors [common.iter.op.const]

9.7.4.2.2 common_iterator::operator= [common.iter.op=]

9.7.4.2.3 common_iterator::operator* [common.iter.op.star]

9.7.4.2.4 common_iterator::operator-> [common.iter.op.ref]

9.7.4.2.5 common_iterator::operator++ [common.iter.op.incr]

9.7.4.2.6 common_iterator comparisons [common.iter.op.comp]

9.7.5 Default sentinels [default.sentinels]

9.7.5.1 Class default_sentinel [default.sent]

9.7.6 Counted iterators [iterators.counted]

9.7.6.1 Class template counted_iterator [counted.iterator]

9.7.6.2 counted_iterator operations [counted.iter.ops]

9.7.6.2.1 counted_iterator constructors [counted.iter.op.const]

9.7.6.2.2 counted_iterator::operator= [counted.iter.op=]

9.7.6.2.3 counted_iterator conversion [counted.iter.op.conv]

9.7.6.2.4 counted_iterator count [counted.iter.op.cnt]

9.7.6.2.5 counted_iterator::operator* [counted.iter.op.star]

9.7.6.2.6 counted_iterator::operator++ [counted.iter.op.incr]

9.7.6.2.7 counted_iterator::operator-- [counted.iter.op.decr]

9.7.6.2.8 counted_iterator::operator+ [counted.iter.op.+]

9.7.6.2.9 counted_iterator::operator+= [counted.iter.op.+=]

9.7.6.2.10 counted_iterator::operator- [counted.iter.op.-]

9.7.6.2.11 counted_iterator::operator-= [counted.iter.op.-=]

9.7.6.2.12 counted_iterator::operator[] [counted.iter.op.index]

9.7.6.2.13 counted_iterator comparisons [counted.iter.op.comp]

9.7.6.2.14 counted_iterator non-member functions [counted.iter.nonmember]

9.7.7 Dangling wrapper [dangling.wrappers]

9.7.7.1 Class template dangling [dangling.wrap]

9.7.7.2 dangling operations [dangling.wrap.ops]

9.7.7.2.1 dangling constructors [dangling.wrap.op.const]

9.7.7.2.2 dangling::get_unsafe [dangling.wrap.op.get]

9.8 Stream iterators [iterators.stream]

9.8.1 Class template istream_iterator [istream.iterator]

9.8.1.1 istream_iterator constructors and destructor [istream.iterator.cons]

9.8.1.2 istream_iterator operations [istream.iterator.ops]

9.8.2 Class template ostream_iterator [ostream.iterator]

9.8.2.1 ostream_iterator constructors and destructor [ostream.iterator.cons.des]

9.8.2.2 ostream_iterator operations [ostream.iterator.ops]

9.8.3 Class template istreambuf_iterator [istreambuf.iterator]

9.8.3.1 Class template istreambuf_iterator::proxy [istreambuf.iterator::proxy]

9.8.3.2 istreambuf_iterator constructors [istreambuf.iterator.cons]

9.8.3.3 istreambuf_iterator::operator* [istreambuf.iterator::op*]

9.8.3.4 istreambuf_iterator::operator++ [istreambuf.iterator::op++]

9.8.3.5 istreambuf_iterator::equal [istreambuf.iterator::equal]

9.8.4 Class template ostreambuf_iterator [ostreambuf.iterator]

9.8.4.1 ostreambuf_iterator constructors [ostreambuf.iter.cons]

9.8.4.2 ostreambuf_iterator operations [ostreambuf.iter.ops]

10 Ranges library [ranges][ranges]

11 Algorithms library [algorithms][algorithms]

11.2 Tag specifiers [alg.tagspec]

11.5 Sorting and related operations [alg.sorting]

11.5.5 Set operations on sorted structures [alg.set.operations]

11.5.5.3 set_intersection [set.intersection]

11.5.5.4 set_difference [set.difference]

11.5.5.5 set_symmetric_difference [set.symmetric.difference]

11.5.7 Minimum and maximum [alg.min.max]

11.5.8 Lexicographical comparison [alg.lex.comparison]

11.5.9 Permutation generators [alg.permutation.generators]

12 Numerics library [numerics][numerics]

12.1 Uniform random number generator requirements [rand.req.urng]

Annex B (normative) Compatibility features [depr][depr]

B.2 Rvalue range access [depr.rvalue.ranges]

B.3 Range-and-a-half algorithms [depr.algo.range-and-a-half]

Annex C (informative) Acknowledgements [acknowledgements][acknowledgements]

Annex D (informative) Compatibility [diff][diff]

D.1 C++ and Ranges [diff.cpp]

D.1.1 Algorithm Return Types [diff.cpp.algo_return]

D.1.2 Stronger Constraints [diff.cpp.constraints]

D.1.3 Constrained Functional Objects [diff.cpp.functional]

D.1.4 Iterators and Default-Constructibility [diff.cpp.defaultconstruct]

D.1.5 iterator_traits cannot be specialized [diff.cpp.iteratortraits]

D.2 Ranges and the Palo Alto TR (N3351) [diff.n3351]

D.2.2 Invocables and Projections [diff.n3351.invok_proj]

D.2.3 No Distinct DistanceType Associated Type [diff.n3351.distance_type]

D.2.4 Distance Primitive is Ο(1) for Random Access Iterators [diff.n3351.distance_algo]

D.2.6 No Algorithm Reformulations [diff.n3351.no_eop_algos]

Index

Index of library names