Exiv2: tiffcomposite.hpp File Reference

- Main Page
- Namespaces
- Classes
- Files
- Examples

- Search for |

# tiffcomposite.hpp File Reference

Various classes used in a TIFF composite structure. More...

`#include "image.hpp"`
`#include "tifffwd.hpp"`
`#include "types.hpp"`
`#include <iosfwd>`
`#include <vector>`
`#include <string>`
`#include <cassert>`

Include dependency graph for tiffcomposite.hpp:

This graph shows which files directly or indirectly include this file:

## Namespaces
namespace | Exiv2
namespace | Exiv2::Group
namespace | Exiv2::Tag
## Classes
class | Exiv2::TiffComponent
| Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directories as well as entries implement this interface. A component can be uniquely identified by a tag, group tupel. This class is implemented as a NVI (Non-Virtual Interface) and it has an interface for visitors (Visitor pattern). More...
struct | Exiv2::TiffStructure
| Data structure used as a row (element) of a table (array) describing the TIFF structure of an image format for reading and writing. Different tables can be used to support different TIFF based image formats. More...
struct | Exiv2::TiffStructure::Key
| Search key for TIFF structure. More...
struct | Exiv2::TiffDecoderInfo
| TIFF decoder table for functions to decode special cases. More...
struct | Exiv2::TiffDecoderInfo::Key
| Search key for TIFF decoder structures. More...
class | Exiv2::TiffEntryBase
| This abstract base class provides the common functionality of an IFD directory entry and defines an extended interface for derived concrete entries, which allows access to the attributes of the entry. More...
class | Exiv2::TiffEntry
| A standard TIFF IFD entry. More...
class | Exiv2::TiffDataEntry
| A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related TiffSizeEntry, tag and group of which are set in the constructor. This component is used, e.g., for Exif.Thumbnail.JPEGInterchangeFormat for which the size is provided in Exif.Thumbnail.JPEGInterchangeFormatLength. More...
class | Exiv2::TiffSizeEntry
| A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is used, e.g. for Exif.Thumbnail.JPEGInterchangeFormatLength, which contains the size of Exif.Thumbnail.JPEGInterchangeFormat. More...
class | Exiv2::TiffDirectory
| This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree. More...
class | Exiv2::TiffSubIfd
| This class models a TIFF sub-directory (sub-IFD). A sub-IFD is an entry with one or more values that are pointers to IFD structures containing an IFD. The TIFF standard defines some important tags to be sub-IFDs, including the Exif and GPS tags. More...
class | Exiv2::TiffMnEntry
| This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote. The TiffReader visitor has the responsibility to create the correct Make/Model specific Makernote for a particular TIFF file. Calls to child management methods are forwarded to the concrete Makernote, if there is one. More...
class | Exiv2::TiffArrayEntry
| Composite to model an array of tags, each consisting of one unsigned short value. Canon and Minolta makernotes use such tags. The elements of this component are usually of type TiffArrayElement. More...
class | Exiv2::TiffArrayElement
| Element of a TiffArrayEntry. The value is exactly one unsigned short component. Canon and Minolta makernotes use arrays of such elements. More...
## Typedefs
typedef std::vector < TiffDirectory * > | Exiv2::Ifds
| A collection of TIFF directories (IFDs).
## Functions
const char * | Exiv2::tiffGroupName (uint16_t group)
| Return the group name for a group.
TiffComponent::AutoPtr | Exiv2::newTiffDirectory (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new TIFF directory.
TiffComponent::AutoPtr | Exiv2::newTiffSubIfd (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new TIFF sub-directory.
TiffComponent::AutoPtr | Exiv2::newTiffMnEntry (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new TIFF makernote entry.
template<uint16_t elSize>
TiffComponent::AutoPtr | Exiv2::newTiffArrayEntry (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new array entry.
template<TypeId typeId, ByteOrder byteOrder>
TiffComponent::AutoPtr | Exiv2::newTiffArrayElement (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new array element.
template<uint16_t szTag, uint16_t szGroup>
TiffComponent::AutoPtr | Exiv2::newTiffThumbData (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new TIFF entry for a thumbnail (data).
template<uint16_t dtTag, uint16_t dtGroup>
TiffComponent::AutoPtr | Exiv2::newTiffThumbSize (uint16_t tag, const TiffStructure *ts)
| Function to create and initialize a new TIFF entry for a thumbnail (size).
## Variables
const uint16_t | Exiv2::Group::none = 0
| Dummy group.
const uint16_t | Exiv2::Group::ifd0 = 1
| Exif IFD0.
const uint16_t | Exiv2::Group::ifd1 = 2
| Thumbnail IFD.
const uint16_t | Exiv2::Group::exif = 3
| Exif IFD.
const uint16_t | Exiv2::Group::gps = 4
| GPS IFD.
const uint16_t | Exiv2::Group::iop = 5
| Interoperability IFD.
const uint16_t | Exiv2::Group::sub0_0 = 6
| Tiff SubIFD 0 in IFD0.
const uint16_t | Exiv2::Group::sub0_1 = 7
| Tiff SubIFD 1 in IFD0.
const uint16_t | Exiv2::Group::sub0_2 = 8
| Tiff SubIFD 2 in IFD0.
const uint16_t | Exiv2::Group::sub0_3 = 9
| Tiff SubIFD 3 in IFD0.
const uint16_t | Exiv2::Group::mn = 256
| Makernote.
const uint16_t | Exiv2::Group::ignr = 511
| Read but do not decode.
const uint32_t | Exiv2::Tag::none = 0x10000
| Dummy tag.
const uint32_t | Exiv2::Tag::root = 0x20000
| Special tag: root IFD.
const uint32_t | Exiv2::Tag::next = 0x30000
| Special tag: next IFD.
const uint32_t | Exiv2::Tag::all = 0x40000
| Special tag: all tags in a group.

## Detailed Description

Various classes used in a TIFF composite structure.

Version:

Rev
  1366

Author:
  Andreas Huggel (ahu) ahuggel@gmx.net

Date:
  11-Apr-06, ahu: created