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:

Include dependency graph

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

Included by dependency graph

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...
struct  Exiv2::TagDetailsBitmask
 Helper structure for lookup tables for translations of bitmask 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 & printValue (std::ostream &os, const Value &value)
 Default print function, using the Value output operator.
std::ostream & printLong (std::ostream &os, const Value &value)
 Print the value converted to a long.
std::ostream & printFloat (std::ostream &os, const Value &value)
 Print a Rational or URational value in floating point format.
std::ostream & printDegrees (std::ostream &os, const Value &value)
 Print a longitude or latitude value.
std::ostream & printUcs2 (std::ostream &os, const Value &value)
 Print function converting from UCS-2LE to UTF-8.
std::ostream & print0x0006 (std::ostream &os, const Value &value)
 Print GPS altitude.
std::ostream & print0x0007 (std::ostream &os, const Value &value)
 Print GPS timestamp.
std::ostream & print0x8298 (std::ostream &os, const Value &value)
 Print the copyright.
std::ostream & print0x829a (std::ostream &os, const Value &value)
 Print the exposure time.
std::ostream & print0x829d (std::ostream &os, const Value &value)
 Print the f-number.
std::ostream & print0x8827 (std::ostream &os, const Value &value)
 Print ISO speed ratings.
std::ostream & print0x9101 (std::ostream &os, const Value &value)
 Print components configuration specific to compressed data.
std::ostream & print0x9201 (std::ostream &os, const Value &value)
 Print exposure time converted from APEX shutter speed value.
std::ostream & print0x9202 (std::ostream &os, const Value &value)
 Print f-number converted from APEX aperture value.
std::ostream & print0x9204 (std::ostream &os, const Value &value)
 Print the exposure bias value.
std::ostream & print0x9206 (std::ostream &os, const Value &value)
 Print the subject distance.
std::ostream & print0x920a (std::ostream &os, const Value &value)
 Print the actual focal length of the lens.
std::ostream & print0x9286 (std::ostream &os, const Value &value)
 Print the user comment.
std::ostream & print0xa404 (std::ostream &os, const Value &value)
 Print digital zoom ratio.
std::ostream & print0xa405 (std::ostream &os, const Value &value)
 Print 35mm equivalent focal length.

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.

Typedefs

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

Enumerations

enum  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 & printTag (std::ostream &os, const Value &value)
 Generic print function to translate a long value to a description by looking up a reference table.
template<int N, const TagDetailsBitmask & array>
std::ostream & printTagBitmask (std::ostream &os, const Value &value)
 Generic print function to translate a long value to a description by looking up bitmasks in a reference table.
bool 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 & operator<< (std::ostream &os, const TagInfo &ti)
 Output operator for TagInfo.
float fnumber (float apertureValue)
 Calculate F number from an APEX aperture value.
URational exposureTime (float shutterSpeedValue)
 Calculate the exposure time from an APEX shutter speed value.

Detailed Description

Exif tag and type information.

Version:
Rev
1039
Author:
Andreas Huggel (ahu) ahuggel@gmx.net
Date:
15-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component

Generated on Sun Mar 4 14:44:10 2007 for Exiv2 by  doxygen 1.3.9.1