std::ranges::view_interface<D>::size
De cppreference.com
< cpp | ranges | view interface
constexprauto size() requires ranges::forward_range<D>&& std::sized_sentinel_for<ranges::sentinel_t<D>, | (1) | (desde C++20) |
constexprauto size()const requires ranges::forward_range<const D>&& std::sized_sentinel_for<ranges::sentinel_t<const D>, | (2) | (desde C++20) |
La implementación por defecto de la función miembro size()
obtiene el tamaño del rango calculando la diferencia entre el centinela y el iterador al comienzo.
1) Sea
derived
static_cast<D&>(*this). Es equivalente a returnranges::end(derived)-ranges::begin(derived);.2) Igual que (1), excepto que
derived
es static_cast<const D&>(*this).Contenido |
[editar]Parámetros
(Ninguno)
[editar]Valor de retorno
La diferencia entre el centinela y el iterador al comienzo del valor del tipo derivado.
[editar]Notas
Los siguientes tipos derivados pueden usar la implementación por defecto de size()
:
- std::ranges::drop_while_view
Los siguientes tipos se derivan de std::ranges::view_interface y no declaran su propia función miembro size()
, pero no pueden usar la implementación por defecto, ya que sus tipos iterador y centinela nunca satisfacen sized_sentinel_for
:
- std::ranges::basic_istream_view
- std::ranges::filter_view
- std::ranges::join_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
[editar]Véase también
(C++17)(C++20) | Devuelve el tamaño de un contenedor o un array. (plantilla de función) |
(C++20) | Obtiene el tamaño de un rango cuyo tamaño puede calcularse en tiempo constante. (objeto punto de personalización) |
(C++20) | Obtiene el tamaño de un rango cuyo tamaño puede calcularse en tiempo constante y lo convierte a un entero con signo. (objeto punto de personalización) |