RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::CiffEntry Class Referencefinal

#include "tiff/CiffEntry.h"

Collaboration diagram for rawspeed::CiffEntry:
[legend]

Public Member Functions

ByteStream getData () const
uint8_t getByte (uint32_t num=0) const
uint32_t getU32 (uint32_t num=0) const
uint16_t getU16 (uint32_t num=0) const
std::string_view getString () const
std::vector< std::string > getStrings () const
uint32_t RAWSPEED_READONLY getElementSize () const
bool RAWSPEED_READONLY isInt () const
bool RAWSPEED_READONLY isString () const

Static Public Member Functions

static CiffEntry Create (NORangesSet< Buffer > *valueDatas, ByteStream valueData, ByteStream dirEntry)
static uint32_t getElementShift (CiffDataType type) RAWSPEED_READONLY

Public Attributes

CiffTag tag
CiffDataType type
uint32_t count

Private Member Functions

 CiffEntry (ByteStream data, CiffTag tag, CiffDataType type, uint32_t count)

Private Attributes

ByteStream data

Friends

class CiffIFD

Detailed Description

Definition at line 54 of file CiffEntry.h.

Constructor & Destructor Documentation

◆ CiffEntry()

rawspeed::CiffEntry::CiffEntry ( ByteStream data,
CiffTag tag,
CiffDataType type,
uint32_t count )
private

Definition at line 41 of file CiffEntry.cpp.

References count, data, tag, and type.

Referenced by Create().

Here is the caller graph for this function:

Member Function Documentation

◆ Create()

CiffEntry rawspeed::CiffEntry::Create ( NORangesSet< Buffer > * valueDatas,
ByteStream valueData,
ByteStream dirEntry )
static

Definition at line 45 of file CiffEntry.cpp.

References CiffEntry(), count, data, getElementShift(), rawspeed::ByteStream::getPosition(), rawspeed::ByteStream::getStream(), rawspeed::ByteStream::getSubStream(), rawspeed::ByteStream::getU16(), rawspeed::ByteStream::getU32(), rawspeed::NORangesSet< T >::insert(), invariant, tag, ThrowCPE, and type.

Referenced by rawspeed::CiffIFD::parseIFDEntry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getByte()

uint8_t rawspeed::CiffEntry::getByte ( uint32_t num = 0) const
nodiscard

Definition at line 146 of file CiffEntry.cpp.

References rawspeed::BYTE, data, tag, ThrowCPE, and type.

Referenced by getU32().

Here is the caller graph for this function:

◆ getData()

ByteStream rawspeed::CiffEntry::getData ( ) const
inlinenodiscard

Definition at line 65 of file CiffEntry.h.

References data.

Referenced by rawspeed::CrwDecoder::decodeRawInternal().

Here is the caller graph for this function:

◆ getElementShift()

uint32_t rawspeed::CiffEntry::getElementShift ( CiffDataType type)
staticnodiscard

Definition at line 85 of file CiffEntry.cpp.

References rawspeed::LONG, rawspeed::MIX, rawspeed::SHORT, rawspeed::SUB1, rawspeed::SUB2, and type.

Referenced by Create().

Here is the caller graph for this function:

◆ getElementSize()

uint32_t RAWSPEED_READONLY rawspeed::CiffEntry::getElementSize ( ) const
nodiscard

◆ getString()

std::string_view rawspeed::CiffEntry::getString ( ) const
nodiscard

Definition at line 154 of file CiffEntry.cpp.

References rawspeed::ASCII, count, data, ThrowCPE, and type.

Referenced by rawspeed::CiffIFD::getEntryRecursiveWhere(), and rawspeed::CiffIFD::getIFDsWithTagWhere().

Here is the caller graph for this function:

◆ getStrings()

vector< std::string > rawspeed::CiffEntry::getStrings ( ) const
nodiscard

Definition at line 165 of file CiffEntry.cpp.

References rawspeed::ASCII, count, data, ThrowCPE, and type.

◆ getU16()

uint16_t rawspeed::CiffEntry::getU16 ( uint32_t num = 0) const
nodiscard

Definition at line 138 of file CiffEntry.cpp.

References rawspeed::BYTE, data, rawspeed::SHORT, tag, ThrowCPE, and type.

Referenced by rawspeed::CrwDecoder::decodeMetaDataInternal(), rawspeed::CrwDecoder::decodeRawInternal(), and getU32().

Here is the caller graph for this function:

◆ getU32()

uint32_t rawspeed::CiffEntry::getU32 ( uint32_t num = 0) const
nodiscard

Definition at line 123 of file CiffEntry.cpp.

References rawspeed::BYTE, data, getByte(), getU16(), isInt(), rawspeed::SHORT, tag, ThrowCPE, and type.

Referenced by rawspeed::CrwDecoder::decodeRawInternal(), rawspeed::CiffIFD::getEntryRecursiveWhere(), and rawspeed::CiffIFD::getIFDsWithTagWhere().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isInt()

bool RAWSPEED_READONLY rawspeed::CiffEntry::isInt ( ) const
nodiscard

Definition at line 118 of file CiffEntry.cpp.

References rawspeed::BYTE, rawspeed::LONG, rawspeed::SHORT, and type.

Referenced by rawspeed::CiffIFD::getEntryRecursiveWhere(), rawspeed::CiffIFD::getIFDsWithTagWhere(), and getU32().

Here is the caller graph for this function:

◆ isString()

bool RAWSPEED_READONLY rawspeed::CiffEntry::isString ( ) const
nodiscard

Definition at line 187 of file CiffEntry.cpp.

References rawspeed::ASCII, and type.

Referenced by rawspeed::CiffIFD::getEntryRecursiveWhere(), and rawspeed::CiffIFD::getIFDsWithTagWhere().

Here is the caller graph for this function:

◆ CiffIFD

friend class CiffIFD
friend

Definition at line 55 of file CiffEntry.h.

References CiffIFD.

Referenced by CiffIFD.

Member Data Documentation

◆ count

◆ data

ByteStream rawspeed::CiffEntry::data
private

◆ tag

CiffTag rawspeed::CiffEntry::tag

Definition at line 80 of file CiffEntry.h.

Referenced by CiffEntry(), Create(), getByte(), getU16(), getU32(), and rawspeed::CiffIFD::parseIFDEntry().

◆ type


The documentation for this class was generated from the following files: