Namespaces
Variants

std::ranges:: reserve_hint

From cppreference.net
Ranges library
Range adaptors
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)
Firma de llamada
template < class T >

requires /* see below */

constexpr auto reserve_hint ( T && t ) ;
(desde C++26)

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

Dada la subexpresión de la cual t denota el objeto resultante (posiblemente materializado ) 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-expresión a ranges:: size ( E ) .
  • En caso contrario, si auto ( t. reserve_hint ( ) ) es una expresión válida de tipo entero-like , ranges :: reserve_hint ( E ) es equivalente-expresión a auto ( t. reserve_hint ( ) ) .
  • En caso contrario, si se satisfacen todas las siguientes condiciones, entonces ranges :: reserve_hint ( E ) es equivalente-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 entero-like, donde el significado de reserve_hint se establece como si se realizara únicamente búsqueda dependiente de argumento .
  • En caso contrario, ranges :: reserve_hint ( E ) está mal formado.

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

Contenidos

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)