Exiv2::ExifKey Class Reference

Concrete keys for Exif metadata and access to Exif tag reference data. More...

#include <tags.hpp>

Inheritance diagram for Exiv2::ExifKey:

Public Types

using UniquePtr = std::unique_ptr< ExifKey >
 Shortcut for an ExifKey auto pointer.
 
- Public Types inherited from Exiv2::Key
using UniquePtr = std::unique_ptr< Key >
 Shortcut for a Key auto pointer.
 

Public Member Functions

Creators
 ExifKey (const std::string &key)
 Constructor to create an Exif key from a key string. More...
 
 ExifKey (uint16_t tag, const std::string &groupName)
 Constructor to create an Exif key from the tag number and group name. More...
 
 ExifKey (const TagInfo &ti)
 Constructor to create an Exif key from a TagInfo instance. More...
 
 ExifKey (const ExifKey &rhs)
 Copy constructor.
 
 ~ExifKey () override
 Destructor.
 
Manipulators
ExifKeyoperator= (const ExifKey &rhs)
 Assignment operator.
 
void setIdx (int idx) const
 Set the index.
 
- Public Member Functions inherited from Exiv2::Key
virtual ~Key ()=default
 Destructor.
 
 Key (Key &&)=delete
 
Keyoperator= (Key &&)=delete
 
UniquePtr clone () const
 Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted.
 
std::ostream & write (std::ostream &os) const
 Write the key to an output stream. You do not usually have to use this function; it is used for the implementation of the output operator for Key, operator<<(std::ostream &os, const Key &key).
 

Accessors

std::string key () const override
 Return the key of the metadatum as a string. The key is of the form 'familyName.groupName.tagName'. Note however that the key is not necessarily unique, e.g., an ExifData may contain multiple metadata with the same key.
 
const char * familyName () const override
 Return an identifier for the type of metadata (the first part of the key)
 
std::string groupName () const override
 Return the name of the group (the second part of the key)
 
IfdId ifdId () const
 Return the IFD id. (Do not use, this is meant for library internal use.)
 
std::string tagName () const override
 Return the name of the tag (which is also the third part of the key)
 
uint16_t tag () const override
 Return the tag number.
 
std::string tagLabel () const override
 Return a label for the tag.
 
std::string tagDesc () const override
 Return a description for the tag.
 
TypeId defaultTypeId () const
 Return the default type id for this tag.
 
UniquePtr clone () const
 
int idx () const
 Return the index (unique id of this key within the original Exif data, 0 if not set)
 

Additional Inherited Members

- Protected Member Functions inherited from Exiv2::Key
 Key ()=default
 
 Key (const Key &)=default
 
Keyoperator= (const Key &)=default
 Assignment operator. Protected so that it can only be used by subclasses but not directly.
 

Detailed Description

Concrete keys for Exif metadata and access to Exif tag reference data.

Examples
addmoddel.cpp, and mrwthumb.cpp.

Constructor & Destructor Documentation

◆ ExifKey() [1/3]

Exiv2::ExifKey::ExifKey ( const std::string &  key)
explicit

Constructor to create an Exif key from a key string.

Parameters
keyThe key string.
Exceptions
Errorif the first part of the key is not 'Exif' or the remaining parts of the key cannot be parsed and converted to a group name and tag name.

◆ ExifKey() [2/3]

Exiv2::ExifKey::ExifKey ( uint16_t  tag,
const std::string &  groupName 
)

Constructor to create an Exif key from the tag number and group name.

Parameters
tagThe tag value
groupNameThe name of the group, i.e., the second part of the Exif key.
Exceptions
Errorif the key cannot be constructed from the tag number and group name.

◆ ExifKey() [3/3]

Exiv2::ExifKey::ExifKey ( const TagInfo ti)
explicit

Constructor to create an Exif key from a TagInfo instance.

Parameters
tiThe TagInfo instance
Exceptions
Errorif the key cannot be constructed from the tag number and group name.

The documentation for this class was generated from the following file: