# Exiv2::TiffReader Class Reference

TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by TiffParser to read the TIFF data from a block of memory. More...

`#include <tiffvisitor.hpp>`

Inheritance diagram for Exiv2::TiffReader:

[legend]
Collaboration diagram for Exiv2::TiffReader:

[legend]
List of all members.

## Public Member Functions

Creators
| TiffReader (const byte *pData, uint32_t size, TiffComponent *pRoot, TiffRwState::AutoPtr state)
| Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor.
virtual | ~TiffReader ()
| Virtual destructor.
Manipulators
virtual void | visitEntry (TiffEntry *object)
| Read a TIFF entry from the data buffer.
virtual void | visitDataEntry (TiffDataEntry *object)
| Read a TIFF data entry from the data buffer.
virtual void | visitSizeEntry (TiffSizeEntry *object)
| Read a TIFF size entry from the data buffer.
virtual void | visitDirectory (TiffDirectory *object)
| Read a TIFF directory from the data buffer.
virtual void | visitSubIfd (TiffSubIfd *object)
| Read a TIFF sub-IFD from the data buffer.
virtual void | visitMnEntry (TiffMnEntry *object)
| Read a TIFF makernote entry from the data buffer.
virtual void | visitIfdMakernote (TiffIfdMakernote *object)
| Read an IFD makernote from the data buffer.
virtual void | visitIfdMakernoteEnd (TiffIfdMakernote *object)
| Reset reader to its original state, undo makernote specific settings.
virtual void | visitArrayEntry (TiffArrayEntry *object)
| Read an array entry component from the data buffer.
virtual void | visitArrayElement (TiffArrayElement *object)
| Read an array element from the data buffer.
void | readTiffEntry (TiffEntryBase *object)
| Read a standard TIFF entry from the data buffer.
void | changeState (TiffRwState::AutoPtr state)
| Set the state class. Assumes ownership of the object passed in.
void | resetState ()
| Reset the state to the original state as set in the constructor.
Accessors
ByteOrder | byteOrder () const
| Return the byte order.
uint32_t | baseOffset () const
| Return the base offset. See class TiffRwState for details.
TiffComponent::AutoPtr | create (uint32_t extendedTag, uint16_t group) const
| Create a TIFF component for extendedTag and group.

## Detailed Description

TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by TiffParser to read the TIFF data from a block of memory.

## Constructor & Destructor Documentation

Exiv2::TiffReader::TiffReader | ( | const byte * | pData,
|  | uint32_t | size,
|  | TiffComponent * | pRoot,
|  | TiffRwState::AutoPtr | state
| ) |

Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor.

Parameters:

  | pData | Pointer to the data buffer, starting with a TIFF header.
  | size | Number of bytes in the data buffer.
  | pRoot | Root element of the TIFF composite.
  | state | State object for creation function, byteorder and base offset.

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

- tiffvisitor.hpp
- tiffvisitor.cpp