У меня есть трехмерный объект boost::multi_array
. Я хотел бы преобразовать абсолютное смещение от origin
к многомерному индексу и наоборот. Есть ли простой способ сделать это, используя встроенные средства boost, или мне нужно самому вычислить его с учетом формы и шага массива?boost :: multi_array index to offset offset offset
1
A
ответ
0
Конечно, вы можете использовать библиотеку.
Для смещения, вы можете легко использовать указатель arithmetics¹:
size_t offset = &ma[1][2][3] - ma.data();
std::cout << "Offset of ma[1][2][3]: " << offset << "\n";
документация обнародует более сложный способ получить элемент адрес: link
This expression accesses a specific element of a.index_list is the unique set of indices that address the element returned. It is equivalent to the following code (disregarding intermediate temporaries): // multiply indices by strides std::transform(index_list.begin(), index_list.end(), a.strides(), tmp.begin(), std::multiplies<index>()), // add the sum of the products to the origin *std::accumulate(tmp.begin(), tmp.end(), a.origin());
Обратное меньше просто. Я не мог найти прямой путь.
¹ Примечание: используйте std::addressof
для защиты от элементов перегружать operator&
в родовом коде
Смежные вопросы
- 1. VBA named offset offset
- 2. TimeZone to Offset?
- 3. OFFSET массива
- 4. iOS 7 Safari nav bar offset offset
- 5. Команда ffmpeg offset offset (-itsoffset) не работает
- 6. Datetime-local offset offset на ios
- 7. SELECT offset, datetime ('now', '+ offset minutes', 'localtime')
- 8. PHP Timezone Name to Offset
- 9. Offset then addclass to div
- 10. datepicker.iso8601Week offset
- 11. UINavigationController Offset
- 12. OFFSET функция
- 13. VLOOKUP, HLOOKUP, INDEX/MATCH или OFFSET?
- 14. Undefined Offset 0: Laravel
- 15. MYSQL large LIMIT offset
- 16. Accordion Menu/Подменю Offset
- 17. Loop and Offset
- 18. Bootstrap data-offset-bottom
- 19. ServiceStack.Text output UTC offset
- 20. Offset Таймер начинает
- 21. Синтаксическая ошибка SQL OFFSET
- 22. Что означает сборка jmp offset <label + offset> mean?
- 23. jqueryUI Draggable mouse offset
- 24. wget undefined offset
- 25. jquery autoscroll offset сверху
- 26. Magento Magmi Offset
- 27. PHP Unset + Undefined Offset
- 28. Offset анкеры для автопрокрутки
- 29. PDO Bind Offset
- 30. TypeError: .offset (...) не определено
Я ожидал что-то вроде '' ind2sub' и sub2ind' функций MATLAB, который спрятаны где-то. Но, похоже, мои ожидания были слишком высокими :) – Alex