Exiv2::XmpData Class Reference

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

#include <xmp.hpp>

Public Types

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

Public Member Functions

Manipulators
Xmpdatumoperator[] (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). More...
 
int add (const XmpKey &key, const Value *value)
 Add an Xmpdatum from the supplied key and value pair. This method copies (clones) the value. More...
 
int add (const Xmpdatum &xmpdatum)
 Add a copy of the Xmpdatum to the XMP metadata. More...
 
iterator erase (iterator pos)
 Delete the Xmpdatum at iterator position pos, return the position of the next Xmpdatum. More...
 
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:
xmpsample.cpp.

Member Function Documentation

◆ add() [1/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.

◆ add() [2/2]

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

Add a copy of the Xmpdatum to the XMP metadata.

Returns
0 if successful.

◆ erase()

iterator Exiv2::XmpData::erase ( iterator  pos)

Delete the Xmpdatum at iterator position pos, return the position of the next Xmpdatum.

Note
Iterators into the metadata, including pos, are potentially invalidated by this call.
Examples:
xmpsample.cpp.

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

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