Exiv2::IptcKey Class Reference

Concrete keys for IPTC metadata. More...

#include <datasets.hpp>

Inheritance diagram for Exiv2::IptcKey:

Public Types

using UniquePtr = std::unique_ptr< IptcKey >
 Shortcut for an IptcKey auto pointer.
 
- Public Types inherited from Exiv2::Key
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. More...
 
 IptcKey (uint16_t tag, uint16_t record)
 Constructor to create an IPTC key from dataset and record ids. More...
 
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.
 
- 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).
 

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. More...
 

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 IPTC metadata.

Constructor & Destructor Documentation

◆ IptcKey() [1/2]

Exiv2::IptcKey::IptcKey ( std::string  key)
explicit

Constructor to create an IPTC key from a key string.

Parameters
keyThe key string.
Exceptions
Errorif 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.

◆ IptcKey() [2/2]

Exiv2::IptcKey::IptcKey ( uint16_t  tag,
uint16_t  record 
)

Constructor to create an IPTC key from dataset and record ids.

Parameters
tagDataset id
recordRecord id

Member Function Documentation

◆ decomposeKey()

void Exiv2::IptcKey::decomposeKey ( )
protected

Parse and convert the key string into dataset and record id. Updates data members if the string can be decomposed, or throws Error.

Exceptions
Errorif the key cannot be decomposed.

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