std::ranges::view_interface<D>::size
De cppreference.com
< cpp | ranges | view interface
constexpr auto size() requires ranges::forward_range<D> && std::sized_sentinel_for<ranges::sentinel_t<D>, |
(1) | (desde C++20) |
constexpr auto 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 return ranges::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) |