std::ranges:: reserve_hint
|
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
)
)
:
-
Tis a class or enumeration type. -
auto
(
reserve_hint
(
t
)
)
is a valid expression of integer-like type, where the meaning of
reserve_hintis 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.
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 |
Example
|
This section is incomplete
Reason: no example |
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) |