[range.access.general]

# 25 Ranges library [[ranges]](./#ranges)

## 25.3 Range access [[range.access]](range.access#general)

### 25.3.1 General [range.access.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/ranges.tex#L633)

In addition to being available via inclusion of the [<ranges>](ranges.syn#header:%3cranges%3e "25.2 Header <ranges> synopsis [ranges.syn]") header, the customization point objects in [[range.access]](range.access "25.3 Range access") are
available when the header [<iterator>](iterator.synopsis#header:%3citerator%3e "24.2 Header <iterator>&nbsp;synopsis [iterator.synopsis]") is included[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/ranges.tex#L638)

Within [[range.access]](range.access "25.3 Range access"),
the [*reified object*](#def:object,reified "25.3.1 General [range.access.general]") of a subexpression E denotes

- [(2.1)](#2.1)

the same object as E if E is a glvalue, or

- [(2.2)](#2.2)

the result of applying
the temporary materialization conversion ([[conv.rval]](conv.rval "7.3.5 Temporary materialization conversion")) to E otherwise[.](#2.sentence-1)
