22#ifndef OR_INTERNALS_RAWCONTAINER_H_
23#define OR_INTERNALS_RAWCONTAINER_H_
31#include "io/stream.hpp"
55 RawContainer(
const IO::Stream::Ptr &_file, off_t offset);
59 const IO::Stream::Ptr &file() {
return m_file; }
61 off_t offset()
const {
return m_offset; }
63 bool skip(off_t offset);
64 Option<int8_t> readInt8(
const IO::Stream::Ptr &f);
65 Option<uint8_t> readUInt8(
const IO::Stream::Ptr &f);
67 Option<int16_t>
readInt16(
const IO::Stream::Ptr &f);
69 Option<int32_t>
readInt32(
const IO::Stream::Ptr &f);
71 Option<uint16_t>
readUInt16(
const IO::Stream::Ptr &f);
77 size_t readUInt16Array(
const IO::Stream::Ptr &f, std::vector<uint16_t> &v,
size_t count);
79 Option<uint32_t>
readUInt32(
const IO::Stream::Ptr &f);
87 size_t fetchData(
void *buf, off_t offset,
size_t buf_size);
97 void setEndian(
EndianType _endian) { m_endian = _endian; }
Option< int16_t > readInt16(const IO::Stream::Ptr &f)
size_t fetchData(void *buf, off_t offset, size_t buf_size)
Option< uint16_t > readUInt16(const IO::Stream::Ptr &f)
Option< uint32_t > readUInt32(const IO::Stream::Ptr &f)
Option< int32_t > readInt32(const IO::Stream::Ptr &f)
size_t readUInt16Array(const IO::Stream::Ptr &f, std::vector< uint16_t > &v, size_t count)
RawContainer(const IO::Stream::Ptr &_file, off_t offset)
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard....