std::ranges::reserve_hint
From cppreference.com
Defined in header <ranges>
|
||
Defined in header <iterator>
|
||
inline namespace /* unspecified */ { inline constexpr auto reserve_hint = /* unspecified */; |
(since C++26) (customization point object) |
|
Call signature |
||
template< class T > requires /* see below */ |
(since C++26) | |
Estimates the number of elements in t in constant time.
Given the subexpression of which t denotes the (possibly materialized) result object as E, and the type of E as T
:
- If ranges::size(E) is a valid expression, ranges::reserve_hint(E) is expression-equivalent to ranges::size(E).
- Otherwise, if auto(t.reserve_hint()) is a valid expression of integer-like type, ranges::reserve_hint(E) is expression-equivalent to auto(t.reserve_hint()).
- Otherwise, if all following conditions are satisfied, then ranges::reserve_hint(E) is expression-equivalent to auto(reserve_hint(t)):
-
T
is a class or enumeration type. - auto(reserve_hint(t)) is a valid expression of integer-like type, where the meaning of
reserve_hint
is established as if by performing argument-dependent lookup only.
-
- Otherwise, ranges::reserve_hint(E) is ill-formed.
Diagnosable ill-formed cases above result in substitution failure when ranges::reserve_hint(E) appears in the immediate context of a template instantiation.
Contents |
Customization point objects
The name ranges::reserve_hint
denotes a customization point object, which is a const function object of a literal semiregular
class type. See CustomizationPointObject for details.
[edit] Notes
Whenever ranges::reserve_hint(e) is valid for an expression e, the return type is integer-like.
Feature-test macro | Value | Std | Feature |
---|---|---|---|
__cpp_lib_ranges_reserve_hint |
202502L |
(C++26) | ranges::reserve_hint |
[edit] Example
This section is incomplete Reason: no example |
[edit] See also
(C++20) |
returns an integer equal to the size of a range (customization point object) |
(C++20) |
returns a signed integer equal to the size of a range (customization point object) |
specifies that a range can estimate its size in constant time (concept) |