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:

Classes

struct  Exiv2::IfdInfo
 The details of an IFD. More...
struct  Exiv2::IfdInfo
 The details of an IFD. More...
struct  Exiv2::SectionInfo
 The details of a 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...
struct  Exiv2::TagDetailsBitmask
 Helper structure for lookup tables for translations of bitmask values to human readable labels. More...
struct  Exiv2::TagVocabulary
 Helper structure for lookup tables for translations of controlled vocabulary strings to their descriptions. More...
class  Exiv2::ExifTags
 Exif tag reference, implemented as a static class. More...
class  Exiv2::ExifKey
 Concrete keys for Exif metadata. More...

Namespaces

namespace  Exiv2
 

Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace.


Defines

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

Typedefs

typedef std::ostream &(* Exiv2::PrintFct )(std::ostream &, const Value &, const ExifData *pExifData)
 Type for a function pointer for functions interpreting the tag value.
typedef const TagInfo *(* Exiv2::TagListFct )()
 A function returning a tag list.

Enumerations

enum  Exiv2::SectionId {
  sectionIdNotSet, imgStruct, recOffset, imgCharacter,
  otherTags, exifFormat, exifVersion, imgConfig,
  userInfo, relatedFile, dateTime, captureCond,
  gpsTags, iopTags, makerTags, dngTags,
  panaRaw, tiffEp, tiffPm6, adobeOpi,
  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, const ExifData *)
 Generic pretty-print function to translate a long value to a description by looking up a reference table.
template<int N, const TagDetailsBitmask(&) array>
std::ostream & Exiv2::printTagBitmask (std::ostream &os, const Value &value, const ExifData *)
 Generic print function to translate a long value to a description by looking up bitmasks in a reference table.
template<int N, const TagVocabulary(&) array>
std::ostream & Exiv2::printTagVocabulary (std::ostream &os, const Value &value, const ExifData *)
 Generic pretty-print function to translate a controlled vocabulary value (string) to a description by looking up a reference table.
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.
Functions printing interpreted tag values

std::ostream & Exiv2::printValue (std::ostream &os, const Value &value, const ExifData *)
 Default print function, using the Value output operator.
std::ostream & Exiv2::printLong (std::ostream &os, const Value &value, const ExifData *)
 Print the value converted to a long.
std::ostream & Exiv2::printFloat (std::ostream &os, const Value &value, const ExifData *)
 Print a Rational or URational value in floating point format.
std::ostream & Exiv2::printDegrees (std::ostream &os, const Value &value, const ExifData *)
 Print a longitude or latitude value.
std::ostream & Exiv2::printUcs2 (std::ostream &os, const Value &value, const ExifData *)
 Print function converting from UCS-2LE to UTF-8.
std::ostream & Exiv2::printExifUnit (std::ostream &os, const Value &value, const ExifData *)
 Print function for Exif units.
std::ostream & Exiv2::print0x0000 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS version.
std::ostream & Exiv2::print0x0005 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS altitude ref.
std::ostream & Exiv2::print0x0006 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS altitude.
std::ostream & Exiv2::print0x0007 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS timestamp.
std::ostream & Exiv2::print0x0009 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS status.
std::ostream & Exiv2::print0x000a (std::ostream &os, const Value &value, const ExifData *)
 Print GPS measurement mode.
std::ostream & Exiv2::print0x000c (std::ostream &os, const Value &value, const ExifData *)
 Print GPS speed ref.
std::ostream & Exiv2::print0x0019 (std::ostream &os, const Value &value, const ExifData *)
 Print GPS destination distance ref.
std::ostream & Exiv2::print0x001e (std::ostream &os, const Value &value, const ExifData *)
 Print GPS differential correction.
std::ostream & Exiv2::print0x0112 (std::ostream &os, const Value &value, const ExifData *)
 Print orientation.
std::ostream & Exiv2::print0x0213 (std::ostream &os, const Value &value, const ExifData *)
 Print YCbCrPositioning.
std::ostream & Exiv2::print0x8298 (std::ostream &os, const Value &value, const ExifData *)
 Print the copyright.
std::ostream & Exiv2::print0x829a (std::ostream &os, const Value &value, const ExifData *)
 Print the exposure time.
std::ostream & Exiv2::print0x829d (std::ostream &os, const Value &value, const ExifData *)
 Print the f-number.
std::ostream & Exiv2::print0x8822 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure program.
std::ostream & Exiv2::print0x8827 (std::ostream &os, const Value &value, const ExifData *)
 Print ISO speed ratings.
std::ostream & Exiv2::print0x9101 (std::ostream &os, const Value &value, const ExifData *)
 Print components configuration specific to compressed data.
std::ostream & Exiv2::print0x9201 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure time converted from APEX shutter speed value.
std::ostream & Exiv2::print0x9202 (std::ostream &os, const Value &value, const ExifData *)
 Print f-number converted from APEX aperture value.
std::ostream & Exiv2::print0x9204 (std::ostream &os, const Value &value, const ExifData *)
 Print the exposure bias value.
std::ostream & Exiv2::print0x9206 (std::ostream &os, const Value &value, const ExifData *)
 Print the subject distance.
std::ostream & Exiv2::print0x9207 (std::ostream &os, const Value &value, const ExifData *)
 Print metering mode.
std::ostream & Exiv2::print0x9208 (std::ostream &os, const Value &value, const ExifData *)
 Print light source.
std::ostream & Exiv2::print0x920a (std::ostream &os, const Value &value, const ExifData *)
 Print the actual focal length of the lens.
std::ostream & Exiv2::print0x9286 (std::ostream &os, const Value &value, const ExifData *)
 Print the user comment.
std::ostream & Exiv2::print0xa001 (std::ostream &os, const Value &value, const ExifData *)
 Print color space.
std::ostream & Exiv2::print0xa217 (std::ostream &os, const Value &value, const ExifData *)
 Print sensing method.
std::ostream & Exiv2::print0xa300 (std::ostream &os, const Value &value, const ExifData *)
 Print file source.
std::ostream & Exiv2::print0xa301 (std::ostream &os, const Value &value, const ExifData *)
 Print scene type.
std::ostream & Exiv2::print0xa401 (std::ostream &os, const Value &value, const ExifData *)
 Print custom rendered.
std::ostream & Exiv2::print0xa402 (std::ostream &os, const Value &value, const ExifData *)
 Print exposure mode.
std::ostream & Exiv2::print0xa403 (std::ostream &os, const Value &value, const ExifData *)
 Print white balance.
std::ostream & Exiv2::print0xa404 (std::ostream &os, const Value &value, const ExifData *)
 Print digital zoom ratio.
std::ostream & Exiv2::print0xa405 (std::ostream &os, const Value &value, const ExifData *)
 Print 35mm equivalent focal length.
std::ostream & Exiv2::print0xa406 (std::ostream &os, const Value &value, const ExifData *)
 Print scene capture type.
std::ostream & Exiv2::print0xa407 (std::ostream &os, const Value &value, const ExifData *)
 Print gain control.
std::ostream & Exiv2::print0xa409 (std::ostream &os, const Value &value, const ExifData *)
 Print saturation.
std::ostream & Exiv2::print0xa40c (std::ostream &os, const Value &value, const ExifData *)
 Print subject distance range.
std::ostream & Exiv2::printGPSDirRef (std::ostream &os, const Value &value, const ExifData *)
 Print GPS direction ref.
std::ostream & Exiv2::printNormalSoftHard (std::ostream &os, const Value &value, const ExifData *)
 Print contrast, sharpness (normal, soft, hard).
std::ostream & Exiv2::printExifVersion (std::ostream &os, const Value &value, const ExifData *)
 Print any version packed in 4 Bytes format : major major minor minor.
std::ostream & Exiv2::printXmpVersion (std::ostream &os, const Value &value, const ExifData *)
 Print any version encoded in the ASCII string majormajorminorminor.
std::ostream & Exiv2::printXmpDate (std::ostream &os, const Value &value, const ExifData *)
 Print a date following the format YYYY-MM-DDTHH:MM:SSZ.

Detailed Description

Exif tag and type information.

Version:
Rev
2052
Author:
Andreas Huggel (ahu) ahuggel@gmx.net
Date:
15-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Tue Aug 3 15:51:54 2010 for Exiv2 by  doxygen 1.6.3