Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Examples

Provides classes and functions to encode and decode Exif and Iptc data. This namespace corresponds to the libexiv2 library. More...


Classes

class  Exiv2::CanonMakerNote
 MakerNote for Canon cameras. More...
struct  Exiv2::CanonMakerNote::RegisterMakerNote
 Structure used to auto-register the MakerNote.
struct  Exiv2::RecordInfo
 Contains information about one record. More...
struct  Exiv2::DataSet
 Dataset information. More...
class  Exiv2::IptcDataSets
 Container for Iptc dataset information. Implemented as a static class. More...
class  Exiv2::Error
 Very simple error class used for exceptions. It contains just an error message. An output operator is provided to print errors to a stream. More...
class  Exiv2::ExifKey
 Concrete keys for Exif metadata. More...
class  Exiv2::Exifdatum
 Information related to one Exif tag. More...
class  Exiv2::Thumbnail
 Exif Thumbnail image. This abstract base class provides the interface for the thumbnail image that is optionally embedded in the Exif data. More...
class  Exiv2::TiffThumbnail
 Exif thumbnail image in TIFF format. More...
class  Exiv2::JpegThumbnail
 Exif thumbnail image in JPEG format. More...
class  Exiv2::FindMetadatumByIfdIdIdx
 Unary predicate that matches a Exifdatum with a given ifd id and idx. More...
class  Exiv2::ExifData
 A container for Exif data. This is a top-level class of the Exiv2 library. More...
class  Exiv2::FujiMakerNote
 MakerNote for Fujifilm cameras. More...
struct  Exiv2::FujiMakerNote::RegisterMakerNote
 Structure used to auto-register the MakerNote.
class  Exiv2::Entry
 Data structure for one IFD directory entry. See the description of class Ifd for an explanation of the supported modes for memory allocation. More...
class  Exiv2::FindEntryByIdx
 Unary predicate that matches an Entry with a given index. More...
class  Exiv2::FindEntryByTag
 Unary predicate that matches an Entry with a given tag. More...
class  Exiv2::Ifd
 Models an IFD (Image File Directory). More...
struct  Exiv2::Ifd::PreEntry
 Helper structure to build IFD entries.
class  Exiv2::Image
 Abstract base class defining the interface for an image. More...
class  Exiv2::ImageFactory
 Image factory. More...
struct  Exiv2::ImageFactory::ImageFcts
 Struct for storing image function pointers.
class  Exiv2::JpegBase
 Abstract helper base class to access JPEG images. More...
class  Exiv2::JpegImage
 Helper class to access JPEG images. More...
class  Exiv2::ExvImage
 Helper class to access Exiv2 files. More...
class  Exiv2::TiffHeader
 Helper class modelling the TIFF header structure. More...
class  Exiv2::IptcKey
 Concrete keys for Iptc metadata. More...
class  Exiv2::Iptcdatum
 Information related to one Iptc dataset. More...
class  Exiv2::FindMetadatumById
 Unary predicate that matches an Iptcdatum with given record and dataset. More...
class  Exiv2::IptcData
 A container for Iptc data. This is a top-level class of the Exiv2 library. More...
class  Exiv2::MakerNote
 Exif makernote interface. More...
struct  Exiv2::MakerNote::MnTagInfo
 MakerNote Tag information. More...
class  Exiv2::IfdMakerNote
 Interface for MakerNotes in IFD format. See MakerNote. More...
class  Exiv2::MakerNoteFactory
 Factory for MakerNote objects. More...
class  Exiv2::Key
 Abstract base class defining the Key of a metadatum. Keys are used to identify and group metadata. More...
class  Exiv2::Metadatum
 Abstract base class defining the interface to access information related to one metadata tag. More...
class  Exiv2::FindMetadatumByKey
 Unary predicate that matches a Exifdatum with a given key. More...
class  Exiv2::Nikon1MakerNote
 A MakerNote format used by Nikon cameras, such as the E990 and D1. More...
struct  Exiv2::Nikon1MakerNote::RegisterMakerNote
 Structure used to auto-register the MakerNote.
class  Exiv2::Nikon2MakerNote
 A second MakerNote format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950. More...
class  Exiv2::Nikon3MakerNote
 A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70. More...
class  Exiv2::SigmaMakerNote
 MakerNote for Sigma (Foveon) cameras. More...
struct  Exiv2::SigmaMakerNote::RegisterMakerNote
 Structure used to auto-register the MakerNote.
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...
class  Exiv2::ExifTags
 Container for Exif tag information. Implemented as a static class. More...
struct  Exiv2::TypeInfoTable
 Information pertaining to the defined types. More...
class  Exiv2::TypeInfo
 Type information lookup functions. Implemented as a static class. More...
class  Exiv2::DataBuf
 Utility class containing a character array. All it does is to take care of memory allocation and deletion. Its primary use is meant to be as a stack variable in functions that need a temporary data buffer. Todo: this should be some sort of smart pointer, essentially an std:auto_ptr for a character array. But it isn't. More...
class  Exiv2::Value
 Common interface for all types of values used with metadata. More...
class  Exiv2::DataValue
 Value for an undefined data type. More...
class  Exiv2::StringValueBase
 Abstract base class for a string based Value type. More...
class  Exiv2::StringValue
 Value for string type. More...
class  Exiv2::AsciiValue
 Value for an Ascii string type. More...
class  Exiv2::DateValue
 Value for simple ISO 8601 dates More...
struct  Exiv2::DateValue::Date
 Simple Date helper structure. More...
class  Exiv2::TimeValue
 Value for simple ISO 8601 times. More...
struct  Exiv2::TimeValue::Time
 Simple Time helper structure. More...
class  Exiv2::ValueType< T >
 Template for a Value of a basic type. This is used for unsigned and signed short, long and rationals. 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 & printUnit (std::ostream &os, const Value &value)
 Print the unit for measuring X and Y resolution.
std::ostream & print0x0103 (std::ostream &os, const Value &value)
 Print the compression scheme used for the image data.
std::ostream & print0x0106 (std::ostream &os, const Value &value)
 Print the pixel composition.
std::ostream & print0x0112 (std::ostream &os, const Value &value)
 Print the orientation.
std::ostream & print0x0213 (std::ostream &os, const Value &value)
 Print the YCbCrPositioning.
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 & print0x8822 (std::ostream &os, const Value &value)
 Print the Exposure mode.
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 & 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 & print0x9207 (std::ostream &os, const Value &value)
 Print the metering mode.
std::ostream & print0x9208 (std::ostream &os, const Value &value)
 Print the light source.
std::ostream & print0x9209 (std::ostream &os, const Value &value)
 Print the flash status.
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 & print0xa001 (std::ostream &os, const Value &value)
 Print color space information.
std::ostream & print0xa217 (std::ostream &os, const Value &value)
 Print info on image sensor type on the camera or input device.
std::ostream & print0xa300 (std::ostream &os, const Value &value)
 Print file source.
std::ostream & print0xa301 (std::ostream &os, const Value &value)
 Print scene type.
std::ostream & print0xa402 (std::ostream &os, const Value &value)
 Print the exposure mode.
std::ostream & print0xa403 (std::ostream &os, const Value &value)
 Print white balance information.
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.
std::ostream & print0xa406 (std::ostream &os, const Value &value)
 Print scene capture type.
std::ostream & print0xa407 (std::ostream &os, const Value &value)
 Print overall image gain adjustment.
std::ostream & print0xa408 (std::ostream &os, const Value &value)
 Print contract adjustment.
std::ostream & print0xa409 (std::ostream &os, const Value &value)
 Print saturation adjustment.
std::ostream & print0xa40a (std::ostream &os, const Value &value)
 Print sharpness adjustment.
std::ostream & print0xa40c (std::ostream &os, const Value &value)
 Print subject distance range.

Typedefs

typedef std::vector< ExifdatumExifMetadata
 Container type to hold all metadata.
typedef std::vector< EntryEntries
 Container type to hold all IFD directory entries.
typedef Image *(* NewInstanceFct )(const std::string &path, FILE *ifp)
 Type for function pointer that creates new Image instances.
typedef bool(* IsThisTypeFct )(FILE *ifp, bool advance)
 Type for function pointer that checks image types.
typedef std::vector< IptcdatumIptcMetadata
 Container type to hold all metadata.
typedef MakerNote *(* CreateFct )(bool, const byte *, long, ByteOrder, long)
 Type for a pointer to a function creating a makernote.
typedef std::ostream &(* PrintFct )(std::ostream &, const Value &)
 Type for a function pointer for functions interpreting the tag value.
typedef unsigned char byte
 1 byte unsigned integer type.
typedef unsigned short uint16
 2 byte unsigned integer type.
typedef unsigned long uint32
 4 byte unsigned integer type.
typedef short int16
 2 byte signed integer type.
typedef long int32
 4 byte signed integer type.
typedef std::pair< uint32,
uint32
URational
 8 byte unsigned rational type.
typedef std::pair< int32,
int32
Rational
 8 byte signed rational type.
typedef ValueType< uint16UShortValue
 Unsigned short value type.
typedef ValueType< uint32ULongValue
 Unsigned long value type.
typedef ValueType< URationalURationalValue
 Unsigned rational value type.
typedef ValueType< int16ShortValue
 Signed short value type.
typedef ValueType< int32LongValue
 Signed long value type.
typedef ValueType< RationalRationalValue
 Signed rational value type.

Enumerations

enum  SectionId {
  sectionIdNotSet, imgStruct, recOffset, imgCharacter,
  otherTags, exifFormat, exifVersion, imgConfig,
  userInfo, relatedFile, dateTime, captureCond,
  gpsTags, iopTags, lastSectionId
}
 Section identifiers to logically group tags. A section consists of nothing more than a name, based on the Exif standard.
enum  ByteOrder { invalidByteOrder, littleEndian, bigEndian }
 Type to express the byte order (little or big endian).
enum  TypeId {
  invalidTypeId, unsignedByte, asciiString, unsignedShort,
  unsignedLong, unsignedRational, invalid6, undefined,
  signedShort, signedLong, signedRational, string,
  date, time, lastTypeId
}
 Type identifiers for IFD format types.
enum  IfdId {
  ifdIdNotSet, ifd0Id, exifIfdId, gpsIfdId,
  makerIfdId, iopIfdId, ifd1Id, lastIfdId
}
 Type to specify the IFD to which a metadata belongs.

Functions

MakerNotecreateCanonMakerNote (bool alloc, const byte *buf, long len, ByteOrder byteOrder, long offset)
 Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!
std::ostream & operator<< (std::ostream &os, const DataSet &dataSet)
 Output operator for dataSet.
std::ostream & operator<< (std::ostream &os, const Error &error)
 Error output operator
void addToIfd (Ifd &ifd, ExifMetadata::const_iterator begin, ExifMetadata::const_iterator end, ByteOrder byteOrder)
 Add all metadata in the range from iterator position begin to iterator position end, which have an IFD id matching that of the IFD to the list of directory entries of ifd. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key to an IFD.
void addToIfd (Ifd &ifd, const Exifdatum &md, ByteOrder byteOrder)
 Add the Exifdatum to the IFD. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key to an IFD.
void addToMakerNote (MakerNote *makerNote, ExifMetadata::const_iterator begin, ExifMetadata::const_iterator end, ByteOrder byteOrder)
 Add all metadata in the range from iterator position begin to iterator position end with IFD id 'makerIfd' to the list of makernote entries of the object pointed to be makerNote. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key to a makernote.
void addToMakerNote (MakerNote *makerNote, const Exifdatum &md, ByteOrder byteOrder)
 Add the Exifdatum to makerNote, encoded in byte order byteOrder. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key to a makernote.
std::ostream & operator<< (std::ostream &os, const Exifdatum &md)
 Output operator for Exifdatum types, prints the interpreted tag value.
std::string makeKey (const Entry &entry)
 Return a key for the entry. The key is of the form 'Exif.ifdItem.tagName'. This function knows about MakerNotes, i.e., it will invoke MakerNote::makeKey if necessary.
std::pair< uint16, IfdIddecomposeKey (const std::string &key, const MakerNote *makerNote)
 Return the tag and IFD id pair for the key. This function knows about MakerNotes, i.e., it will forward the request to MakerNote::decomposeKey if necessary.
MakerNotecreateFujiMakerNote (bool alloc, const byte *buf, long len, ByteOrder byteOrder, long offset)
 Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!
bool cmpEntriesByTag (const Entry &lhs, const Entry &rhs)
 Compare two IFD entries by tag. Return true if the tag of entry lhs is less than that of rhs.
bool cmpPreEntriesByOffset (const Ifd::PreEntry &lhs, const Ifd::PreEntry &rhs)
 Compare two 'pre-IFD entries' by offset, taking care of special cases where one or both of the entries don't have an offset. Return true if the offset of entry lhs is less than that of rhs, else false. By definition, entries without an offset are greater than those with an offset.
ImagenewExvInstance (const std::string &path, FILE *fp)
 Create a new ExvImage instance and return a pointer to it. Caller is responsible to delete the object when it is no longer needed.
bool isExvType (FILE *ifp, bool advance)
 Check if the file ifp is an EXV file.
ImagenewJpegInstance (const std::string &path, FILE *fp)
 Create a new JpegImage instance and return a pointer to it. Caller is responsible to delete the object when it is no longer needed.
bool isJpegType (FILE *ifp, bool advance)
 Check if the file ifp is a JPEG image.
bool fileExists (const std::string &path, bool ct)
 Test if a file exists.
std::ostream & operator<< (std::ostream &os, const Iptcdatum &md)
 Output operator for Iptcdatum types, printing the interpreted tag value.
std::ostream & operator<< (std::ostream &os, const Metadatum &md)
 Output operator for Metadatum types, printing the interpreted tag value.
bool cmpMetadataByTag (const Metadatum &lhs, const Metadatum &rhs)
 Compare two metadata by tag. Return true if the tag of metadatum lhs is less than that of rhs.
bool cmpMetadataByKey (const Metadatum &lhs, const Metadatum &rhs)
 Compare two metadata by key. Return true if the key of metadatum lhs is less than that of rhs.
std::ostream & operator<< (std::ostream &os, const Key &key)
 Output operator for Key types.
MakerNotecreateNikonMakerNote (bool alloc, const byte *buf, long len, ByteOrder byteOrder, long offset)
 Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!
MakerNotecreateSigmaMakerNote (bool alloc, const byte *buf, long len, ByteOrder byteOrder, long offset)
 Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!
std::ostream & operator<< (std::ostream &os, const TagInfo &ti)
 Output operator for TagInfo.
std::ostream & operator<< (std::ostream &os, const Rational &r)
 Output operator for our fake rational.
std::istream & operator>> (std::istream &is, Rational &r)
 Input operator for our fake rational.
std::ostream & operator<< (std::ostream &os, const URational &r)
 Output operator for our fake unsigned rational.
std::istream & operator>> (std::istream &is, URational &r)
 Input operator for our fake unsigned rational.
uint16 getUShort (const byte *buf, ByteOrder byteOrder)
 Read a 2 byte unsigned short value from the data buffer.
uint32 getULong (const byte *buf, ByteOrder byteOrder)
 Read a 4 byte unsigned long value from the data buffer.
URational getURational (const byte *buf, ByteOrder byteOrder)
 Read an 8 byte unsigned rational value from the data buffer.
int16 getShort (const byte *buf, ByteOrder byteOrder)
 Read a 2 byte signed short value from the data buffer.
int32 getLong (const byte *buf, ByteOrder byteOrder)
 Read a 4 byte signed long value from the data buffer.
Rational getRational (const byte *buf, ByteOrder byteOrder)
 Read an 8 byte signed rational value from the data buffer.
long us2Data (byte *buf, uint16 s, ByteOrder byteOrder)
 Convert an unsigned short to data, write the data to the buffer, return number of bytes written.
long ul2Data (byte *buf, uint32 l, ByteOrder byteOrder)
 Convert an unsigned long to data, write the data to the buffer, return number of bytes written.
long ur2Data (byte *buf, URational l, ByteOrder byteOrder)
 Convert an unsigned rational to data, write the data to the buffer, return number of bytes written.
long s2Data (byte *buf, int16 s, ByteOrder byteOrder)
 Convert a signed short to data, write the data to the buffer, return number of bytes written.
long l2Data (byte *buf, int32 l, ByteOrder byteOrder)
 Convert a signed long to data, write the data to the buffer, return number of bytes written.
long r2Data (byte *buf, Rational l, ByteOrder byteOrder)
 Convert a signed rational to data, write the data to the buffer, return number of bytes written.
void hexdump (std::ostream &os, const byte *buf, long len, long offset)
 Print len bytes from buf in hex and ASCII format to the given stream, prefixed with the position in the buffer adjusted by offset.
int gcd (int a, int b)
 Return the greatest common denominator of integers a and b. Both parameters must be greater than 0.
long lgcd (long a, long b)
 Return the greatest common denominator of long values a and b. Both parameters must be greater than 0.
template<typename T> std::string toString (const T &arg)
 Utility function to convert the argument of any type to a string.
std::ostream & operator<< (std::ostream &os, const Value &value)
 Output operator for Value types.
template<typename T> TypeId getType ()
 Template to determine the TypeId for a type T.
template<> TypeId getType< uint16 > ()
 Specialization for an unsigned short.
template<> TypeId getType< uint32 > ()
 Specialization for an unsigned long.
template<> TypeId getType< URational > ()
 Specialization for an unsigned rational.
template<> TypeId getType< int16 > ()
 Specialization for a signed short.
template<> TypeId getType< int32 > ()
 Specialization for a signed long.
template<> TypeId getType< Rational > ()
 Specialization for a signed rational.
template<typename T> T getValue (const byte *buf, ByteOrder byteOrder)
 Read a value of type T from the data buffer.
template<typename T> long toData (byte *buf, T t, ByteOrder byteOrder)
 Convert a value of type T to data, write the data to the data buffer.
template<> long toData (byte *buf, uint16 t, ByteOrder byteOrder)
 Specialization to write an unsigned short to the data buffer. Return the number of bytes written.
template<> long toData (byte *buf, uint32 t, ByteOrder byteOrder)
 Specialization to write an unsigned long to the data buffer. Return the number of bytes written.
template<> long toData (byte *buf, URational t, ByteOrder byteOrder)
 Specialization to write an unsigned rational to the data buffer. Return the number of bytes written.
template<> long toData (byte *buf, int16 t, ByteOrder byteOrder)
 Specialization to write a signed short to the data buffer. Return the number of bytes written.
template<> long toData (byte *buf, int32 t, ByteOrder byteOrder)
 Specialization to write a signed long to the data buffer. Return the number of bytes written.
template<> long toData (byte *buf, Rational t, ByteOrder byteOrder)
 Specialization to write a signed rational to the data buffer. Return the number of bytes written.


Detailed Description

Provides classes and functions to encode and decode Exif and Iptc data. This namespace corresponds to the libexiv2 library.

Function Documentation

MakerNote * Exiv2::createCanonMakerNote bool  alloc,
const byte buf,
long  len,
ByteOrder  byteOrder,
long  offset
 

Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!

Parameters:
alloc Memory management model for the new MakerNote. Determines if memory required to store data should be allocated and deallocated (true) or not (false). If false, only pointers to the buffer provided to read() will be kept. See Ifd for more background on this concept.
buf Pointer to the makernote character buffer (not used).
len Length of the makernote character buffer (not used).
byteOrder Byte order in which the Exif data (and possibly the makernote) is encoded (not used).
offset Offset from the start of the TIFF header of the makernote buffer (not used).
Returns:
A pointer to a newly created empty MakerNote. The caller owns this copy and is responsible to delete it!

MakerNote * Exiv2::createFujiMakerNote bool  alloc,
const byte buf,
long  len,
ByteOrder  byteOrder,
long  offset
 

Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!

Parameters:
alloc Memory management model for the new MakerNote. Determines if memory required to store data should be allocated and deallocated (true) or not (false). If false, only pointers to the buffer provided to read() will be kept. See Ifd for more background on this concept.
buf Pointer to the makernote character buffer (not used).
len Length of the makernote character buffer (not used).
byteOrder Byte order in which the Exif data (and possibly the makernote) is encoded (not used).
offset Offset from the start of the TIFF header of the makernote buffer (not used).
Returns:
A pointer to a newly created empty MakerNote. The caller owns this copy and is responsible to delete it!

MakerNote * Exiv2::createNikonMakerNote bool  alloc,
const byte buf,
long  len,
ByteOrder  byteOrder,
long  offset
 

Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!

Parameters:
alloc Memory management model for the new MakerNote. Determines if memory required to store data should be allocated and deallocated (true) or not (false). If false, only pointers to the buffer provided to read() will be kept. See Ifd for more background on this concept.
buf Pointer to the makernote character buffer (not used).
len Length of the makernote character buffer (not used).
byteOrder Byte order in which the Exif data (and possibly the makernote) is encoded (not used).
offset Offset from the start of the TIFF header of the makernote buffer (not used).
Returns:
A pointer to a newly created empty MakerNote. The caller owns this copy and is responsible to delete it!

MakerNote * Exiv2::createSigmaMakerNote bool  alloc,
const byte buf,
long  len,
ByteOrder  byteOrder,
long  offset
 

Return a pointer to a newly created empty MakerNote initialized to operate in the memory management model indicated. The caller owns this copy and is responsible to delete it!

Parameters:
alloc Memory management model for the new MakerNote. Determines if memory required to store data should be allocated and deallocated (true) or not (false). If false, only pointers to the buffer provided to read() will be kept. See Ifd for more background on this concept.
buf Pointer to the makernote character buffer (not used).
len Length of the makernote character buffer (not used).
byteOrder Byte order in which the Exif data (and possibly the makernote) is encoded (not used).
offset Offset from the start of the TIFF header of the makernote buffer (not used).
Returns:
A pointer to a newly created empty MakerNote. The caller owns this copy and is responsible to delete it!

std::pair< uint16, IfdId > Exiv2::decomposeKey const std::string &  key,
const MakerNote *  makerNote
 

Return the tag and IFD id pair for the key. This function knows about MakerNotes, i.e., it will forward the request to MakerNote::decomposeKey if necessary.

Returns:
A pair consisting of the tag and IFD id.
Exceptions:
Error ("Invalid key") if the key cannot be parsed into item item, section name and tag name parts.

bool Exiv2::fileExists const std::string &  path,
bool  ct = false
 

Test if a file exists.

Parameters:
path Name of file to verify.
ct Flag to check if path is a regular file.
Returns:
true if path exists and, if ct is set, is a regular file, else false.
Note:
The function calls stat() test for path and its type, see stat(2). errno is left unchanged in case of an error.

template<typename T>
Rational Exiv2::getValue const byte buf,
ByteOrder  byteOrder
[inline]
 

Read a value of type T from the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to read from.
byteOrder Applicable byte order (little or big endian).
Returns:
A value of type T.

template<typename T>
long toData byte buf,
t,
ByteOrder  byteOrder
 

Convert a value of type T to data, write the data to the data buffer.

We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided.

Parameters:
buf Pointer to the data buffer to write to.
t Value to be converted.
byteOrder Applicable byte order (little or big endian).
Returns:
The number of bytes written to the buffer.


Generated on Mon Sep 13 22:01:42 2004 for Exiv2 by doxygen 1.3.8