# Exiv2::IptcKey Class Reference

Concrete keys for Iptc metadata. More...

`#include <datasets.hpp>`

Inheritance diagram for Exiv2::IptcKey:

[legend]
Collaboration diagram for Exiv2::IptcKey:

[legend]
List of all members.

## Public Types

typedef std::auto_ptr< IptcKey > | AutoPtr
| Shortcut for an IptcKey auto pointer.

## Public Member Functions

Creators
| IptcKey (const 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.
| IptcKey (const IptcKey &rhs)
| Copy constructor.
Manipulators
IptcKey & | operator= (const IptcKey &rhs)
| Assignment operator.
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
| 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::string | recordName () const
| Return the name of the record.
uint16_t | record () const
| Return the record id.

## Protected Member Functions

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.

## Detailed Description

Concrete keys for Iptc metadata.

## Constructor & Destructor Documentation

Exiv2::IptcKey::IptcKey | ( | const std::string & | key | ) | `[explicit]`

Constructor to create an Iptc key from a key string.

Parameters:

  | key | The key string.

Exceptions:

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

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

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

Parameters:

  | tag | Dataset id
  | record | Record id

## Member Function Documentation

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:

  | Error | if the key cannot be decomposed.

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

- datasets.hpp
- datasets.cpp