cpp/ranges/adjacent view

@1@ is a range adaptor that takes a, and produces a  whose $th$ element (a "window") is a std that holds  references to the elements of the original view, from $th$ up to $th$ inclusively.

@@ Let be the size of the original view. Then the size of produced view is:
 * , if ,
 * otherwise, and the resulting view is empty.

@2@ The name denotes a. Given a subexpression and a constant expression, the expression  is expression-equivalent to
 * if is equal to ,
 * otherwise.

always models, and models , , or if adapted  type models the corresponding concept.

Data members
Typical implementations of hold only one non-static data member  of type. The name is for exposition only.

Deduction guides
(none)

Helper templates
This specialization of makes  satisfy  when the underlying view satisfies it.