#include "metadatum.hpp"
#include "types.hpp"
#include "value.hpp"
#include <string>
#include <utility>
#include <iostream>
#include <memory>
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, 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. |