Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > e31b59fe09ff595814e8029d984f51c5 > files > 379

lib64exiv2_2-devel-0.16-3mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Exiv2: Exiv2::IptcData Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<div class="nav">
<a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1IptcData.html">IptcData</a></div>
<h1>Exiv2::IptcData Class Reference</h1><!-- doxytag: class="Exiv2::IptcData" -->A container for IPTC data. This is a top-level class of the Exiv2 library.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;iptc.hpp&gt;</code>
<p>
<div class="dynheader">
Collaboration diagram for Exiv2::IptcData:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1IptcData__coll__graph.png" border="0" usemap="#Exiv2_1_1IptcData__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1IptcData__coll__map">
<area shape="rect" title="STL class." alt="" coords="5,6,187,30"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1IptcData-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d53776cd2f36e63fff78c8f142a7caf"></a><!-- doxytag: member="Exiv2::IptcData::iterator" ref="0d53776cd2f36e63fff78c8f142a7caf" args="" -->
typedef IptcMetadata::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IptcMetadata iterator type. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="683257be46a446865ca5f4e81b8e88d9"></a><!-- doxytag: member="Exiv2::IptcData::const_iterator" ref="683257be46a446865ca5f4e81b8e88d9" args="" -->
typedef <br>
IptcMetadata::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#683257be46a446865ca5f4e81b8e88d9">const_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IptcMetadata const iterator type. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#83d32821e26360560f48f7a1197de8c2">load</a> (const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load the IPTC data from a byte buffer. The format must follow the IPTC IIM4 standard.  <a href="#83d32821e26360560f48f7a1197de8c2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classExiv2_1_1Iptcdatum.html">Iptcdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#998640a7957c12bed57d90ac8c08e7aa">operator[]</a> (const std::string &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a reference to the Iptcdatum that is associated with a particular <em>key</em>. If IptcData does not already contain such an Iptcdatum, operator[] adds object <em>Iptcdatum(key)</em>.  <a href="#998640a7957c12bed57d90ac8c08e7aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#6c209bd981fc5073ae5effaa56d07310">add</a> (const <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> &amp;key, <a class="el" href="classExiv2_1_1Value.html">Value</a> *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an Iptcdatum from the supplied key and value pair. This method copies (clones) the value. A check for non-repeatable datasets is performed.  <a href="#6c209bd981fc5073ae5effaa56d07310"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#2d843afb1f9c0978b8845c741148ed27">add</a> (const <a class="el" href="classExiv2_1_1Iptcdatum.html">Iptcdatum</a> &amp;iptcdatum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a copy of the <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> to the IPTC metadata. A check for non-repeatable datasets is performed.  <a href="#2d843afb1f9c0978b8845c741148ed27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c39f135b5ef62df8cbb651af94ce25ed"></a><!-- doxytag: member="Exiv2::IptcData::erase" ref="c39f135b5ef62df8cbb651af94ce25ed" args="(iterator pos)" -->
<a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#c39f135b5ef62df8cbb651af94ce25ed">erase</a> (<a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a> pos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> at iterator position pos, return the position of the next <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a>. Note that iterators into the metadata, including pos, are potentially invalidated by this call. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee7392b0585be4916c56f08e3c9e7be5"></a><!-- doxytag: member="Exiv2::IptcData::clear" ref="ee7392b0585be4916c56f08e3c9e7be5" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#ee7392b0585be4916c56f08e3c9e7be5">clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete all <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> instances resulting in an empty container. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3db828436ee87c6d4d1d4a450b0c3c10"></a><!-- doxytag: member="Exiv2::IptcData::sortByKey" ref="3db828436ee87c6d4d1d4a450b0c3c10" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#3db828436ee87c6d4d1d4a450b0c3c10">sortByKey</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort metadata by key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="622ff967f192b898e05920dfbc63aabe"></a><!-- doxytag: member="Exiv2::IptcData::sortByTag" ref="622ff967f192b898e05920dfbc63aabe" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#622ff967f192b898e05920dfbc63aabe">sortByTag</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort metadata by tag (aka dataset). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03385c128b29d262ade837093fddc0d2"></a><!-- doxytag: member="Exiv2::IptcData::begin" ref="03385c128b29d262ade837093fddc0d2" args="()" -->
<a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#03385c128b29d262ade837093fddc0d2">begin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin of the metadata. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6753e8a713ab2b42a3bdc7b3d9eab401"></a><!-- doxytag: member="Exiv2::IptcData::end" ref="6753e8a713ab2b42a3bdc7b3d9eab401" args="()" -->
<a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#6753e8a713ab2b42a3bdc7b3d9eab401">end</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of the metadata. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7df715a94bab00373cd461d7d1f3d51c"></a><!-- doxytag: member="Exiv2::IptcData::findKey" ref="7df715a94bab00373cd461d7d1f3d51c" args="(const IptcKey &amp;key)" -->
<a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#7df715a94bab00373cd461d7d1f3d51c">findKey</a> (const <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> with the given key, return an iterator to it. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d592167eb84f50f5053b789d0a82531"></a><!-- doxytag: member="Exiv2::IptcData::findId" ref="6d592167eb84f50f5053b789d0a82531" args="(uint16_t dataset, uint16_t record=IptcDataSets::application2)" -->
<a class="el" href="classExiv2_1_1IptcData.html#0d53776cd2f36e63fff78c8f142a7caf">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#6d592167eb84f50f5053b789d0a82531">findId</a> (uint16_t dataset, uint16_t record=IptcDataSets::application2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> with the given record and dataset it, return a const iterator to it. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eee89e2ea157cb1e3739ccbbf239cce5"></a><!-- doxytag: member="Exiv2::IptcData::begin" ref="eee89e2ea157cb1e3739ccbbf239cce5" args="() const " -->
<a class="el" href="classExiv2_1_1IptcData.html#683257be46a446865ca5f4e81b8e88d9">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#eee89e2ea157cb1e3739ccbbf239cce5">begin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin of the metadata. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c209f133796a4811776e3fe85b432506"></a><!-- doxytag: member="Exiv2::IptcData::end" ref="c209f133796a4811776e3fe85b432506" args="() const " -->
<a class="el" href="classExiv2_1_1IptcData.html#683257be46a446865ca5f4e81b8e88d9">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#c209f133796a4811776e3fe85b432506">end</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of the metadata. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#35b77f4bca06079f7940f97bb0f060be">copy</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the IPTC data to a data buffer and return the data buffer. Caller owns this buffer. The copied data follows the IPTC IIM4 standard.  <a href="#35b77f4bca06079f7940f97bb0f060be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f20e0f2178832bfaa0fbde754a5fe103"></a><!-- doxytag: member="Exiv2::IptcData::findKey" ref="f20e0f2178832bfaa0fbde754a5fe103" args="(const IptcKey &amp;key) const " -->
<a class="el" href="classExiv2_1_1IptcData.html#683257be46a446865ca5f4e81b8e88d9">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#f20e0f2178832bfaa0fbde754a5fe103">findKey</a> (const <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> with the given key, return a const iterator to it. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bba13f9e7dcdb6be67aee061ec0d3c1f"></a><!-- doxytag: member="Exiv2::IptcData::findId" ref="bba13f9e7dcdb6be67aee061ec0d3c1f" args="(uint16_t dataset, uint16_t record=IptcDataSets::application2) const " -->
<a class="el" href="classExiv2_1_1IptcData.html#683257be46a446865ca5f4e81b8e88d9">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#bba13f9e7dcdb6be67aee061ec0d3c1f">findId</a> (uint16_t dataset, uint16_t record=IptcDataSets::application2) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> with the given record and dataset number, return a const iterator to it. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fda626e27ebecd599005c68022db9c1c"></a><!-- doxytag: member="Exiv2::IptcData::empty" ref="fda626e27ebecd599005c68022db9c1c" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#fda626e27ebecd599005c68022db9c1c">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if there is no IPTC metadata. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0b73759b3483b94deec4dac32e1a591"></a><!-- doxytag: member="Exiv2::IptcData::count" ref="b0b73759b3483b94deec4dac32e1a591" args="() const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#b0b73759b3483b94deec4dac32e1a591">count</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of metadata entries. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96def22b723dfabe9ec5decfdae8574e"></a><!-- doxytag: member="Exiv2::IptcData::size" ref="96def22b723dfabe9ec5decfdae8574e" args="() const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcData.html#96def22b723dfabe9ec5decfdae8574e">size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the exact size of all contained IPTC metadata. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A container for IPTC data. This is a top-level class of the Exiv2 library. 
<p>
Provide high-level access to the IPTC data of an image:<ul>
<li>read IPTC information from JPEG files</li><li>access metadata through keys and standard C++ iterators</li><li>add, modify and delete metadata</li><li>write IPTC data to JPEG files</li><li>extract IPTC metadata to files, insert from these files </li></ul>
<dl compact><dt><b>Examples: </b></dt><dd>

<p>
<a class="el" href="iptceasy_8cpp-example.html#_a0">iptceasy.cpp</a>, and <a class="el" href="iptcprint_8cpp-example.html#_a1">iptcprint.cpp</a>.</dl><hr><h2>Member Function Documentation</h2>
<a class="anchor" name="83d32821e26360560f48f7a1197de8c2"></a><!-- doxytag: member="Exiv2::IptcData::load" ref="83d32821e26360560f48f7a1197de8c2" args="(const byte *buf, long len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::IptcData::load           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load the IPTC data from a byte buffer. The format must follow the IPTC IIM4 standard. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>Pointer to the data buffer to read from </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Number of bytes in the data buffer </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 5 if IPTC data is invalid or corrupt;<br>
 </dd></dl>

</div>
</div><p>
<a class="anchor" name="998640a7957c12bed57d90ac8c08e7aa"></a><!-- doxytag: member="Exiv2::IptcData::operator[]" ref="998640a7957c12bed57d90ac8c08e7aa" args="(const std::string &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Iptcdatum.html">Iptcdatum</a>&amp; Exiv2::IptcData::operator[]           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a reference to the Iptcdatum that is associated with a particular <em>key</em>. If IptcData does not already contain such an Iptcdatum, operator[] adds object <em>Iptcdatum(key)</em>. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Since operator[] might insert a new element, it can't be a const member function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="6c209bd981fc5073ae5effaa56d07310"></a><!-- doxytag: member="Exiv2::IptcData::add" ref="6c209bd981fc5073ae5effaa56d07310" args="(const IptcKey &amp;key, Value *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::IptcData::add           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1Value.html">Value</a> *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add an Iptcdatum from the supplied key and value pair. This method copies (clones) the value. A check for non-repeatable datasets is performed. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 6 if the dataset already exists and is not repeatable </dd></dl>

</div>
</div><p>
<a class="anchor" name="2d843afb1f9c0978b8845c741148ed27"></a><!-- doxytag: member="Exiv2::IptcData::add" ref="2d843afb1f9c0978b8845c741148ed27" args="(const Iptcdatum &amp;iptcdatum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::IptcData::add           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1Iptcdatum.html">Iptcdatum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iptcdatum</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a copy of the <a class="el" href="classExiv2_1_1Iptcdatum.html" title="Information related to one IPTC dataset. An IPTC metadatum consists of an IptcKey...">Iptcdatum</a> to the IPTC metadata. A check for non-repeatable datasets is performed. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 6 if the dataset already exists and is not repeatable;<br>
 </dd></dl>

</div>
</div><p>
<a class="anchor" name="35b77f4bca06079f7940f97bb0f060be"></a><!-- doxytag: member="Exiv2::IptcData::copy" ref="35b77f4bca06079f7940f97bb0f060be" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a> Exiv2::IptcData::copy           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write the IPTC data to a data buffer and return the data buffer. Caller owns this buffer. The copied data follows the IPTC IIM4 standard. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Data buffer containing the IPTC data. </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iptc_8hpp.html">iptc.hpp</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:04 2008 for Exiv2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>