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
C++23 standard (ISO/IEC 14882:2024):
26.5.6 Class template elements_of [range.elementsof]