std::ranges:: reserve_hint
|
Определено в заголовочном файле
<ranges>
|
||
|
Определено в заголовочном файле
<iterator>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
auto
reserve_hint
=
/* unspecified */
;
|
(начиная с C++26)
(объект точки настройки) |
|
|
Сигнатура вызова
|
||
|
template
<
class
T
>
requires
/* see below */
|
(начиная с C++26) | |
Оценивает количество элементов в t за постоянное время.
Для подвыражения, в котором
подвыражение
обозначает (возможно,
материализованный
) результирующий объект как
t
, и тип
E
как
T
:
- Если ranges:: size ( E ) является корректным выражением, ranges :: reserve_hint ( E ) является эквивалентным по выражению к ranges:: size ( E ) .
- Иначе, если auto ( t. reserve_hint ( ) ) является корректным выражением целочисленного типа , ranges :: reserve_hint ( E ) является эквивалентным по выражению к auto ( t. reserve_hint ( ) ) .
-
Иначе, если удовлетворены все следующие условия, то
ranges
::
reserve_hint
(
E
)
является эквивалентным по выражению к
auto
(
reserve_hint
(
t
)
)
:
-
Tявляется типом класса или перечисления. -
auto
(
reserve_hint
(
t
)
)
является корректным выражением целочисленного типа, где значение
reserve_hintустанавливается как если бы выполнялся только поиск, зависимый от аргументов .
-
- Иначе, ranges :: reserve_hint ( E ) является некорректным.
Вышеуказанные диагностируемые случаи с нарушением формата приводят к неудаче подстановки , когда ranges :: reserve_hint ( E ) появляется в непосредственном контексте инстанцирования шаблона.
Содержание |
Объекты точек кастомизации
Имя
ranges::reserve_hint
обозначает
объект точки кастомизации
, который является константным
функциональным объектом
литерального
типа
semiregular
класса. Для подробностей см.
CustomizationPointObject
.
Примечания
Всякий раз, когда ranges :: reserve_hint ( e ) является валидным для выражения e , возвращаемый тип является integer-like .
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_ranges_reserve_hint
|
202502L
|
(C++26) | ranges::reserve_hint |
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++20)
|
возвращает целое число, равное размеру диапазона
(объект точки кастомизации) |
|
(C++20)
|
возвращает знаковое целое число, равное размеру диапазона
(объект точки кастомизации) |
|
указывает, что диапазон может оценить свой размер за постоянное время
(концепт) |