Namespaces
Variants
Actions

std::ranges::elements_of

From cppreference.com
< cpp‎ | ranges
 
 
Ranges library
Range adaptors
 
Defined in header <ranges>
template< ranges::range R, class Allocator = std::allocator<std::byte> >
struct elements_of;
(since C++23)

Encapsulates a range. Specializations of elements_of act as a tag in overload sets to disambiguate when a range should be treated as a sequence rather than a single value.

Contents

[edit] Template parameters

R - a type that satisfies range
Allocator - an allocator type that meets the requirements of Allocator

[edit] Data members

Member name Definition
range
a range of type R
(public member object)
allocator
an allocator of type Allocator. It has default member initializer that value initializes itself
(public member object)

All these members are declared with [[no_unique_address]] attribute.

[edit] Deduction guide

template< class R, class Allocator = std::allocator<std::byte> >
elements_of( R&&, Allocator = Allocator() ) -> elements_of<R&&, Allocator>;
(since C++23)

[