![]() |
Exiv2
|
Concrete keys for IPTC metadata. More...
#include <datasets.hpp>
Public Types | |
using | UniquePtr = std::unique_ptr< IptcKey > |
Shortcut for an IptcKey auto pointer. | |
![]() | |
using | UniquePtr = std::unique_ptr< Key > |
Shortcut for a Key auto pointer. | |
Public Member Functions | |
Creators | |
IptcKey (std::string key) | |
Constructor to create an IPTC key from a key string. | |
IptcKey (uint16_t tag, uint16_t record) | |
Constructor to create an IPTC key from dataset and record ids. | |
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). For IPTC keys, the group name is the record name. | |
std::string | tagName () const override |
Return the name of the tag (which is also the third part of the key) | |
std::string | tagLabel () const override |
Return a label for the tag. | |
std::string | tagDesc () const override |
Return a description for the tag. | |
uint16_t | tag () const override |
Return the tag number. | |
UniquePtr | clone () const |
std::string | recordName () const |
Return the name of the record. | |
uint16_t | record () const |
Return the record id. | |
![]() | |
virtual | ~Key ()=default |
Destructor. | |
Key (Key &&)=delete | |
Key & | operator= (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). | |
Manipulators | |
void | makeKey () |
Set the key corresponding to the dataset and record id. The key is of the form 'Iptc.recordName.dataSetName'. | |
void | decomposeKey () |
Parse and convert the key string into dataset and record id. Updates data members if the string can be decomposed, or throws Error. | |
Additional Inherited Members | |
![]() | |
Key (const Key &)=default | |
Key & | operator= (const Key &)=default |
Assignment operator. Protected so that it can only be used by subclasses but not directly. | |
Concrete keys for IPTC metadata.
|
explicit |
Constructor to create an IPTC key from a key string.
key | The key string. |
Error | if the first part of the key is not 'Iptc' or the remaining parts of the key cannot be parsed and converted to a record name and a dataset name. |
References decomposeKey().
Exiv2::IptcKey::IptcKey | ( | uint16_t | tag, |
uint16_t | record | ||
) |
Constructor to create an IPTC key from dataset and record ids.
tag | Dataset id |
record | Record id |
References makeKey().
|
protected |
Parse and convert the key string into dataset and record id. Updates data members if the string can be decomposed, or throws Error.
Error | if the key cannot be decomposed. |
References Exiv2::IptcDataSets::dataSet(), Exiv2::IptcDataSets::dataSetName(), familyName(), Exiv2::IptcDataSets::recordId(), recordName(), and Exiv2::IptcDataSets::recordName().
Referenced by IptcKey().
|
overridevirtual |
Return an identifier for the type of metadata (the first part of the key)
Implements Exiv2::Key.
Referenced by decomposeKey().
|
overridevirtual |
Return the name of the group (the second part of the key). For IPTC keys, the group name is the record name.
Implements Exiv2::Key.
References recordName().
|
overridevirtual |
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.
Implements Exiv2::Key.
Referenced by Exiv2::operator<<().
|
overridevirtual |
Return the tag number.
Implements Exiv2::Key.
Referenced by Exiv2::IptcData::findKey(), and Exiv2::IptcData::findKey().
|
overridevirtual |
Return a description for the tag.
Implements Exiv2::Key.
References Exiv2::IptcDataSets::dataSetDesc().
|
overridevirtual |
|
overridevirtual |
Return the name of the tag (which is also the third part of the key)
Implements Exiv2::Key.
References Exiv2::IptcDataSets::dataSetName().