#include <xtd/xtd>
template<size rank>
auto print_values(const array<int, rank>& my_arr) {
auto my_enumerator = my_arr.get_enumerator();
auto i = 0_z;
auto cols = my_arr.get_length(my_arr.rank() - 1);
while (my_enumerator.move_next()) {
if (i < cols) ++i;
else {
console::write_line();
i = 1;
}
console::write("\t{}", my_enumerator.current());
}
console::write_line();
}
auto main() -> int {
auto my_arr = array<int, 3>(2, 3, 4);
for (auto i = my_arr.get_lower_bound(0); i <= my_arr.get_upper_bound(0); ++i) {
for (auto j = my_arr.get_lower_bound(1); j <= my_arr.get_upper_bound(1); ++j) {
for (auto k = my_arr.get_lower_bound(2); k <= my_arr.get_upper_bound(2); ++k)
my_arr.set_value(as<int>((i * 100) + (j * 10) + k), {i, j, k});
}
}
console::write_line("The array has {} dimension(s) and a total of {} elements.", my_arr.rank(), my_arr.length());
console::write_line("\tlength\tlower\tupper");
for (
auto i = 0_z;
i < my_arr.rank(); ++
i) {
console::write("{}:\t{}", i, my_arr.get_length(i));
console::write_line("\t{}\t{}", my_arr.get_lower_bound(i), my_arr.get_upper_bound(i));
}
console::write_line("The array contains the following values:");
print_values(my_arr);
}
@ i
The I key.
Definition console_key.hpp:104