68 [[
nodiscard]] std::expected<ChunkInfo, ChunkError>
76 [[
nodiscard]] std::expected<std::size_t, ChunkError>
79 [[
nodiscard]] std::expected<void, ChunkError>
94 std::size_t dataStart{};
102 std::size_t
offset)
const;
105 std::span<const std::byte> bytes_;
106 std::array<LevelState, MaximumLevels> levels_{};
107 std::size_t level_{};
108 std::size_t currentOffset_{};
115 [[
nodiscard]] std::expected<LegacyChunkReader, DataError>
std::vector< std::byte > bytes
std::shared_ptr< const data::HmdTextureImage > source
std::expected< std::size_t, ChunkError > read(std::span< std::byte > destination)
std::uint8_t idForLevel(std::size_t level) const noexcept
std::size_t level() const noexcept
static constexpr std::uint8_t NullStandardId
std::expected< std::span< const std::byte >, ChunkError > map(std::size_t requestedBytes)
static constexpr std::size_t PhysicalHeaderSize
std::size_t dataSizeForLevel(std::size_t level) const noexcept
static constexpr std::uint8_t NullInContextId
std::size_t dataStartForLevel(std::size_t level) const noexcept
std::expected< void, ChunkError > ascend()
std::expected< ChunkInfo, ChunkError > descend(std::uint8_t findId=NullStandardId)
std::expected< void, ChunkError > seek(std::size_t absoluteOffset)
std::size_t remaining() const noexcept
static constexpr std::size_t MaximumLevels
std::size_t currentOffset() const noexcept
std::string_view chunkErrorCodeName(ChunkErrorCode code) noexcept
std::shared_ptr< const DataBytes > SharedDataBytes
std::expected< LegacyChunkReader, DataError > openLegacyChunkReader(const DataSource &source, DataId id)