Loading...
Searching...
No Matches
Exiv2::XmpData Class Reference

A container for XMP data. This is a top-level class of the Exiv2 library. More...

`#include <xmp_exiv2.hpp>`

## Public Types

typedef XmpMetadata::iterator | iterator
| XmpMetadata iterator type.
typedef XmpMetadata::const_iterator | const_iterator
| XmpMetadata const iterator type.

## Public Member Functions

| XmpData ()
| Default constructor.
Manipulators
Xmpdatum & | operator[] (const std::string &key)
| Returns a reference to the Xmpdatum that is associated with a particular key. If XmpData does not already contain such an Xmpdatum, operator[] adds object Xmpdatum(key).
int | add (const XmpKey &key, const Value *value)
| Add an Xmpdatum from the supplied key and value pair. This method copies (clones) the value.
int | add (const Xmpdatum &xmpdatum)
| Add a copy of the Xmpdatum to the XMP metadata.
iterator | erase (XmpData::iterator pos)
void | eraseFamily (XmpData::iterator &pos)
| Delete the Xmpdatum at iterator position pos and update pos erases all following keys from the same family See: https://github.com/Exiv2/exiv2/issues/521.
void | clear ()
| Delete all Xmpdatum instances resulting in an empty container.
void | sortByKey ()
| Sort metadata by key.
iterator | begin ()
| Begin of the metadata.
iterator | end ()
| End of the metadata.
iterator | findKey (const XmpKey &key)
| Find the first Xmpdatum with the given key, return an iterator to it.

## Accessors

const_iterator | begin () const
| Begin of the metadata.
const_iterator | end () const
| End of the metadata.
const_iterator | findKey (const XmpKey &key) const
| Find the first Xmpdatum with the given key, return a const iterator to it.
bool | empty () const
| Return true if there is no XMP metadata.
long | count () const
| Get the number of metadata entries.
bool | usePacket () const
| are we to use the packet?
bool | usePacket (bool b)
| set usePacket_
void | setPacket (const std::string &xmpPacket)
| setPacket
const std::string & | xmpPacket () const

## Detailed Description

A container for XMP data. This is a top-level class of the Exiv2 library.

Provide high-level access to the XMP data of an image:

- read XMP information from an XML block
- access metadata through keys and standard C++ iterators
- add, modify and delete metadata
- serialize XMP data to an XML block

Examples
  exiv2json.cpp, xmpparse.cpp, xmpprint.cpp, and xmpsample.cpp.

## Member Function Documentation

## add() [1/2]

int Exiv2::XmpData::add | ( | const Xmpdatum & | xmpdatum | ) |

Add a copy of the Xmpdatum to the XMP metadata.

Returns
  0 if successful.

## add() [2/2]

int Exiv2::XmpData::add | ( | const XmpKey & | key,
|  | const Value * | value
| ) |  |

Add an Xmpdatum from the supplied key and value pair. This method copies (clones) the value.

Returns
  0 if successful.

Examples
  xmpsample.cpp.

References add().

Referenced by add().

## operator[]()

Xmpdatum & Exiv2::XmpData::operator[] | ( | const std::string & | key | ) |

Returns a reference to the Xmpdatum that is associated with a particular key. If XmpData does not already contain such an Xmpdatum, operator[] adds object Xmpdatum(key).

Note
  Since operator[] might insert a new element, it can't be a const member function.

References end(), and findKey().

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

- xmp_exiv2.hpp
- xmp.cpp