std::ranges::elements_of - cppreference.com (original) (raw)

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.

[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
a range of type R (public member object)
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](../language/attributes/no%5Funique%5Faddress.html "cpp/language/attributes/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) | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ------------- |

[edit] Example

[edit] References