Exiv2::IptcKey Class Reference

Concrete keys for IPTC metadata. More...

#include <datasets.hpp>

Inheritance diagram for Exiv2::IptcKey:

Public Types

typedef std::auto_ptr< IptcKeyAutoPtr
 Shortcut for an IptcKey auto pointer.
 
- Public Types inherited from Exiv2::Key
typedef std::auto_ptr< KeyAutoPtr
 Shortcut for a Key auto pointer.
 

Public Member Functions

Creators
 IptcKey (const 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...
 
 IptcKey (const IptcKey &rhs)
 Copy constructor.
 
virtual ~IptcKey ()
 Destructor.
 
Accessors
virtual std::string key () const
 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.
 
virtual const char * familyName () const
 Return an identifier for the type of metadata (the first part of the key)
 
virtual std::string groupName () const
 Return the name of the group (the second part of the key). For IPTC keys, the group name is the record name.
 
virtual std::string tagName () const
 Return the name of the tag (which is also the third part of the key)
 
virtual std::string tagLabel () const
 Return a label for the tag.
 
virtual uint16_t tag () const
 Return the tag number.
 
AutoPtr 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 ()
 Destructor.
 
AutoPtr 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

IptcKeyoperator= (const IptcKey &rhs)
 Assignment operator.
 
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
Keyoperator= (const Key &rhs)
 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 ( const 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: