Namespaces
Variants

std:: full_extent, std:: full_extent_t

From cppreference.net
헤더에 정의됨 <mdspan>
struct full_extent_t { explicit full_extent_t ( ) = default ; } ;
(1) (C++26부터)
inline constexpr std :: full_extent_t full_extent { } ;
(2) (C++26부터)
1) 클래스 std::full_extent_t std::submdspan 에서 사용할 수 있는 슬라이스 지정자 타입입니다.
2) (1) 에 해당하는 std::full_extent 인스턴스는 std::submdspan 에서 지정된 익스텐트(extent)의 전체 인덱스 범위를 나타내는 슬라이스 지정자입니다.

예제

#include <mdspan>
#include <print>
void print(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()
{
    const char letters []{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'};
    const std::mdspan view(letters, 3, 3);
    print(view);
    print(std::submdspan(view, std::full_extent, std::full_extent));
    print(std::submdspan(view, std::full_extent, 1));
    print(std::submdspan(view, 1, std::full_extent));
    print(std::submdspan(view, 2, 1));
}

가능한 출력:

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

참고 항목

(C++26)
기존 mdspan 의 부분 집합에 대한 뷰를 반환합니다
(함수 템플릿)