std::full_extent, std::full_extent_t
来自cppreference.com
| 在标头 <mdspan> 定义
|
||
| |
(1) | (C++26 起) |
| |
(2) | (C++26 起) |
1) 类
std::full_extent_t 是一种可以用于 std::submdspan 的切片说明符类型。2) 对应的 (1) 的实例
std::full_extent 是一个切片说明符,标明 std::submdspan 中指定的尺度上的全索引范围。示例
运行此代码
#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 的子集上的视图 (函数模板) |