Как создать mdspan, если индексация не начинается с 0?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как создать mdspan, если индексация не начинается с 0?

Сообщение Anonymous »

У меня есть бинарные файлы вида

Код: Выделить всё

Inhabitants_Year_1913_2023_Month_1_12_ZipCode_20000_20999.bin
с 100 * 12 * 1000 = 1,2 миллионов строк, каждая строка содержит целое число, представляющее количество жителей для данной комбинации года/месяца/почтового индекса.
У меня есть функция, которая анализирует файл и возвращает std::vector с 1,2 млн элементов.
Я могу создать облегченное представление

Код: Выделить всё

auto my_md_span = std::mdspan(vec.data(), 100, 12, 1000);
и может передать его другим функциям, а затем получить доступ к нужному элементу через

Код: Выделить всё

my_md_span[year - 1913, month - 1, ZipCode - 20000]
Вопрос: возможно ли создать std::mdspan, чтобы я мог получить доступ к правильному элементу напрямую через
my_md_span[year, month, ZipCode]?

Подробнее здесь: https://stackoverflow.com/questions/791 ... begin-at-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»