std::full_extent, std::full_extent_t
De cppreference.com
Definido en el archivo de encabezado <mdspan>
|
||
struct full_extent_t { explicit full_extent_t() = default; }; |
(1) | (desde C++26) |
inline constexpr std::full_extent_t full_extent {}; |
(2) | (desde C++26) |
1) La clase
std::full_extent_t
es un tipo especificador de sección que puede ser usado en std::submdspan.2) La instancia correspondiente
std::full_extent
de (1) es un tipo especificador de sección para indicar todo el rango de índices en la dimensión especificada en std::submdspan.[editar] Ejemplo
Ejecuta este código
#include <mdspan> #include <print> void print_view(auto view) { static_assert(view.rank() <= 2); if constexpr (view.rank() == 2) { for (std::size_t i = 0; i < view.extent(0); ++i) { for (std::size_t j = 0; j < view.extent(1); ++j) std::print("{} ", view[i, j]); std::println(""); } } else if constexpr (view.rank() == 1) { for (std::size_t i = 0; i < view.extent(0); ++i) std::print("{} ", view[i]); std::println(""); } else { std::println("{}", view[]); } std::println(""); } int main() { char letters [] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I' }; std::mdspan view (letters, 3, 3); print_view(view); print_view(std::submdspan(view, std::full_extent, std::full_extent)); print_view(std::submdspan(view, std::full_extent, 1)); print_view(std::submdspan(view, 1, std::full_extent)); print_view(std::submdspan(view, 2, 1)); }
Posible salida:
A B C D E F G H I A B C D E F G H I B E H D E F H
[editar] Véase también
(C++26) |
Devuelve una vista de un subconjunto de un mdspan existente. (plantilla de función) |