Namespaces
Variants

std::ranges::reserve_hint

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rango
 
Definido en el encabezado <ranges>
Definido en el encabezado <iterator>
inline namespace /* unspecified */ {
    inline constexpr auto reserve_hint = /* unspecified */;
}
(desde C++26)
(objeto de punto de personalización)
Signatura de llamada
template< class T >
    requires /* see below */
constexpr auto reserve_hint( T&& t );
(desde C++26)

Estima el número de elementos en t en tiempo constante.

Dada la subexpresión de la cual t denota el (posiblemente materializado) objeto resultante como E, y el tipo de E como T:

  • Si ranges::size(E) es una expresión válida, ranges::reserve_hint(E) es equivalente-en-expresión a ranges::size(E).
  • En caso contrario, si auto(t.reserve_hint()) es una expresión válida de tipo similar a entero, ranges::reserve_hint(E) es equivalente-en-expresión a auto(t.reserve_hint()).
  • En caso contrario, si se cumplen todas las condiciones siguientes, entonces ranges::reserve_hint(E) es equivalente-en-expresión a auto(reserve_hint(t)):
    • T es un tipo clase o enumeración.
    • auto(reserve_hint(t)) es una expresión válida de tipo similar a entero, donde el significado de reserve_hint se establece como si se realizara una búsqueda dependiente de argumentos únicamente.
  • En caso contrario, ranges::reserve_hint(E) está mal formado.

Los casos anteriores mal formados diagnosticables resultan en un fallo de sustitución cuando ranges::reserve_hint(E) aparece en el contexto inmediato de una instanciación de plantilla.

Objetos de punto de personalización

El nombre ranges::reserve_hint denota un objeto de punto de personalización , que es un objeto función constante de tipo clase literal semiregular . Consulte CustomizationPointObject para más detalles.

Notas

Siempre que ranges :: reserve_hint ( e ) sea válido para una expresión e , el tipo de retorno es integer-like .

Macro de prueba de características Valor Estándar Característica
__cpp_lib_ranges_reserve_hint 202502L (C++26) ranges::reserve_hint

Ejemplo

Véase también

devuelve un entero igual al tamaño de un rango
(objeto de punto de personalización)
devuelve un entero con signo igual al tamaño de un rango
(objeto de punto de personalización)
especifica que un rango puede estimar su tamaño en tiempo constante
(concepto)