# tags.hpp File Reference

Exif tag and type information. More...

`#include "metadatum.hpp"`
`#include "types.hpp"`
`#include "value.hpp"`
`#include <string>`
`#include <utility>`
`#include <iostream>`
`#include <memory>`

Include dependency graph for tags.hpp:

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

## Namespaces

namespace | Exiv2

## Classes

struct | Exiv2::IfdInfo
| Contains information pertaining to one IFD. More...
struct | Exiv2::SectionInfo
| Contains information pertaining to one section. More...
struct | Exiv2::TagInfo
| Tag information. More...
struct | Exiv2::TagDetails
| Helper structure for lookup tables for translations of numeric tag values to human readable labels. More...
class | Exiv2::ExifTags
| Container for Exif tag information. Implemented as a static class. More...
class | Exiv2::ExifKey
| Concrete keys for Exif metadata. More...

## Functions printing interpreted tag values

std::ostream & | Exiv2::printValue (std::ostream &os, const Value &value)
| Default print function, using the Value output operator.
std::ostream & | Exiv2::printLong (std::ostream &os, const Value &value)
| Print the value converted to a long.
std::ostream & | Exiv2::printFloat (std::ostream &os, const Value &value)
| Print a Rational or URational value in floating point format.
std::ostream & | Exiv2::printUnit (std::ostream &os, const Value &value)
| Print the unit for measuring X and Y resolution.
std::ostream & | Exiv2::print0x0103 (std::ostream &os, const Value &value)
| Print the compression scheme used for the image data.
std::ostream & | Exiv2::print0x0106 (std::ostream &os, const Value &value)
| Print the pixel composition.
std::ostream & | Exiv2::print0x0112 (std::ostream &os, const Value &value)
| Print the orientation.
std::ostream & | Exiv2::print0x0213 (std::ostream &os, const Value &value)
| Print the YCbCrPositioning.
std::ostream & | Exiv2::print0x8298 (std::ostream &os, const Value &value)
| Print the copyright.
std::ostream & | Exiv2::print0x829a (std::ostream &os, const Value &value)
| Print the exposure time.
std::ostream & | Exiv2::print0x829d (std::ostream &os, const Value &value)
| Print the f-number.
std::ostream & | Exiv2::print0x8822 (std::ostream &os, const Value &value)
| Print the exposure mode.
std::ostream & | Exiv2::print0x8827 (std::ostream &os, const Value &value)
| Print ISO speed ratings.
std::ostream & | Exiv2::print0x9101 (std::ostream &os, const Value &value)
| Print components configuration specific to compressed data.
std::ostream & | Exiv2::print0x9201 (std::ostream &os, const Value &value)
| Print exposure time converted from APEX shutter speed value.
std::ostream & | Exiv2::print0x9202 (std::ostream &os, const Value &value)
| Print f-number converted from APEX aperture value.
std::ostream & | Exiv2::print0x9204 (std::ostream &os, const Value &value)
| Print the exposure bias value.
std::ostream & | Exiv2::print0x9206 (std::ostream &os, const Value &value)
| Print the subject distance.
std::ostream & | Exiv2::print0x9207 (std::ostream &os, const Value &value)
| Print the metering mode.
std::ostream & | Exiv2::print0x9208 (std::ostream &os, const Value &value)
| Print the light source.
std::ostream & | Exiv2::print0x9209 (std::ostream &os, const Value &value)
| Print the flash status.
std::ostream & | Exiv2::print0x920a (std::ostream &os, const Value &value)
| Print the actual focal length of the lens.
std::ostream & | Exiv2::print0x9286 (std::ostream &os, const Value &value)
| Print the user comment.
std::ostream & | Exiv2::print0xa001 (std::ostream &os, const Value &value)
| Print color space information.
std::ostream & | Exiv2::print0xa217 (std::ostream &os, const Value &value)
| Print info on image sensor type on the camera or input device.
std::ostream & | Exiv2::print0xa300 (std::ostream &os, const Value &value)
| Print file source.
std::ostream & | Exiv2::print0xa301 (std::ostream &os, const Value &value)
| Print scene type.
std::ostream & | Exiv2::print0xa402 (std::ostream &os, const Value &value)
| Print the exposure mode.
std::ostream & | Exiv2::print0xa403 (std::ostream &os, const Value &value)
| Print white balance information.
std::ostream & | Exiv2::print0xa404 (std::ostream &os, const Value &value)
| Print digital zoom ratio.
std::ostream & | Exiv2::print0xa405 (std::ostream &os, const Value &value)
| Print 35mm equivalent focal length.
std::ostream & | Exiv2::print0xa406 (std::ostream &os, const Value &value)
| Print scene capture type.
std::ostream & | Exiv2::print0xa407 (std::ostream &os, const Value &value)
| Print overall image gain adjustment.
std::ostream & | Exiv2::print0xa408 (std::ostream &os, const Value &value)
| Print contract adjustment.
std::ostream & | Exiv2::print0xa409 (std::ostream &os, const Value &value)
| Print saturation adjustment.
std::ostream & | Exiv2::print0xa40a (std::ostream &os, const Value &value)
| Print sharpness adjustment.
std::ostream & | Exiv2::print0xa40c (std::ostream &os, const Value &value)
| Print subject distance range.

## Defines

#define | EXV_PRINT_TAG(array) printTag<EXV_COUNTOF(array), array>
| Shortcut for the printTag template which requires typing the array name only once.

## Typedefs

typedef std::ostream &(* | Exiv2::PrintFct )(std::ostream &, const Value &)
| Type for a function pointer for functions interpreting the tag value.

## Enumerations

enum | Exiv2::SectionId { sectionIdNotSet, imgStruct, recOffset, imgCharacter, otherTags, exifFormat, exifVersion, imgConfig, userInfo, relatedFile, dateTime, captureCond, gpsTags, iopTags, makerTags, lastSectionId }
| Section identifiers to logically group tags. A section consists of nothing more than a name, based on the Exif standard.

## Functions

template<int N, const TagDetails & array>
std::ostream & | Exiv2::printTag (std::ostream &os, const Value &value)
| Generic print function to translate a long value to a description by looking up a reference table.
bool | Exiv2::isExifIfd (IfdId ifdId)
| Return true if ifdId is an Exif Ifd Id, i.e., one of ifd0Id, exifIfdId, gpsIfdId, iopIfdId or ifd1Id, else false. This is used to differentiate between standard Exif Ifds and Ifds associated with the makernote.
std::ostream & | Exiv2::operator<< (std::ostream &os, const TagInfo &ti)
| Output operator for TagInfo.
float | Exiv2::fnumber (float apertureValue)
| Calculate F number from an APEX aperture value.
URational | Exiv2::exposureTime (float shutterSpeedValue)
| Calculate the exposure time from an APEX shutter speed value.

## Detailed Description

Exif tag and type information.

Version:
  Rev
    808

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

Date:
  15-Jan-04, ahu: created
  11-Feb-04, ahu: isolated as a component