Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > b36c97ff723e66f0f38bce83645c99dc > files > 202

exiv2-doc-0.18.2-1mdv2010.0.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::ExifData Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <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="annotated.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="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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="navpath"><a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1ExifData.html">ExifData</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::ExifData Class Reference</h1><!-- doxytag: class="Exiv2::ExifData" -->A container for Exif data. This is a top-level class of the Exiv2 library. The container holds <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> objects.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;exif.hpp&gt;</code>
<p>
<div class="dynheader">
Collaboration diagram for Exiv2::ExifData:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1ExifData__coll__graph.png" border="0" usemap="#Exiv2_1_1ExifData__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1ExifData__coll__map">
<area shape="rect" id="node4" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate..." alt="" coords="461,379,643,405"><area shape="rect" id="node6" href="classExiv2_1_1Metadatum.html" title="Abstract base class defining the interface to access information related to one metadata..." alt="" coords="555,288,736,315"><area shape="rect" id="node10" href="classExiv2_1_1ExifKey.html" title="Concrete keys for Exif metadata." alt="" coords="56,187,216,213"><area shape="rect" id="node12" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="59,83,179,109"><area shape="rect" id="node14" title="STL class." alt="" coords="203,83,333,109"><area shape="rect" id="node16" title="STL class." alt="" coords="143,5,393,32"><area shape="rect" id="node18" title="STL class." alt="" coords="257,187,457,213"><area shape="rect" id="node27" title="STL class." alt="" coords="644,237,825,264"><area shape="rect" id="node24" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="481,187,623,213"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1ExifData-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="02e2a2acb4cfeb0f7755c1a45f94106f"></a><!-- doxytag: member="Exiv2::ExifData::iterator" ref="02e2a2acb4cfeb0f7755c1a45f94106f" args="" -->
typedef ExifMetadata::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ExifMetadata iterator type. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b8ac7a474d6527c0f3f6a0a9cebef77"></a><!-- doxytag: member="Exiv2::ExifData::const_iterator" ref="2b8ac7a474d6527c0f3f6a0a9cebef77" args="" -->
typedef <br class="typebreak">
ExifMetadata::const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#2b8ac7a474d6527c0f3f6a0a9cebef77">const_iterator</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ExifMetadata 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"><a class="el" href="classExiv2_1_1Exifdatum.html">Exifdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#5c56fca27e6c2c3700d6138e8401f39e">operator[]</a> (const std::string &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a reference to the Exifdatum that is associated with a particular <em>key</em>. If ExifData does not already contain such an Exifdatum, operator[] adds object <em>Exifdatum(key)</em>.  <a href="#5c56fca27e6c2c3700d6138e8401f39e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91d231cd1b9fefc311c5166e30ab66eb"></a><!-- doxytag: member="Exiv2::ExifData::add" ref="91d231cd1b9fefc311c5166e30ab66eb" args="(const ExifKey &amp;key, const Value *pValue)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#91d231cd1b9fefc311c5166e30ab66eb">add</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &amp;key, const <a class="el" href="classExiv2_1_1Value.html">Value</a> *pValue)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> from the supplied key and value pair. This method copies (clones) key and value. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#d809ad2a4689a15a899d1ddba954ae2b">add</a> (const <a class="el" href="classExiv2_1_1Exifdatum.html">Exifdatum</a> &amp;exifdatum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a copy of the <em>exifdatum</em> to the Exif metadata. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key.  <a href="#d809ad2a4689a15a899d1ddba954ae2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13b24f0ee2a3f585cf714b9418b75edd"></a><!-- doxytag: member="Exiv2::ExifData::erase" ref="13b24f0ee2a3f585cf714b9418b75edd" args="(iterator pos)" -->
<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#13b24f0ee2a3f585cf714b9418b75edd">erase</a> (<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a> pos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> at iterator position <em>pos</em>, return the position of the next exifdatum. Note that iterators into the metadata, including <em>pos</em>, are potentially invalidated by this call. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d630c776ed6275671a637a1b21e2bd1"></a><!-- doxytag: member="Exiv2::ExifData::erase" ref="3d630c776ed6275671a637a1b21e2bd1" args="(iterator beg, iterator end)" -->
<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#3d630c776ed6275671a637a1b21e2bd1">erase</a> (<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a> beg, <a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a> end)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all elements of the range <em>beg</em>, <em>end</em>, return the position of the next element. Note that iterators into the metadata are potentially invalidated by this call. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d8ccafb025f9d5800686903b6250f2b"></a><!-- doxytag: member="Exiv2::ExifData::clear" ref="1d8ccafb025f9d5800686903b6250f2b" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#1d8ccafb025f9d5800686903b6250f2b">clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete all <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> instances resulting in an empty container. Note that this also removes thumbnails. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a52cead52e69e79252ffd7ee5bc8818"></a><!-- doxytag: member="Exiv2::ExifData::sortByKey" ref="9a52cead52e69e79252ffd7ee5bc8818" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#9a52cead52e69e79252ffd7ee5bc8818">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="1495692d4d076247380549214cbf0cc7"></a><!-- doxytag: member="Exiv2::ExifData::sortByTag" ref="1495692d4d076247380549214cbf0cc7" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#1495692d4d076247380549214cbf0cc7">sortByTag</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort metadata by tag. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53bce2980ee060fc2da5fe6751f51db9"></a><!-- doxytag: member="Exiv2::ExifData::begin" ref="53bce2980ee060fc2da5fe6751f51db9" args="()" -->
<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#53bce2980ee060fc2da5fe6751f51db9">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="9c15177b03489e3d4bb81e9acc1165fe"></a><!-- doxytag: member="Exiv2::ExifData::end" ref="9c15177b03489e3d4bb81e9acc1165fe" args="()" -->
<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#9c15177b03489e3d4bb81e9acc1165fe">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="9700e579aef8fd1845dd5da59b608773"></a><!-- doxytag: member="Exiv2::ExifData::findKey" ref="9700e579aef8fd1845dd5da59b608773" args="(const ExifKey &amp;key)" -->
<a class="el" href="classExiv2_1_1ExifData.html#02e2a2acb4cfeb0f7755c1a45f94106f">iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#9700e579aef8fd1845dd5da59b608773">findKey</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> with the given <em>key</em>, return an 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="97cf11fcf9dcaf7469becac408414f63"></a><!-- doxytag: member="Exiv2::ExifData::begin" ref="97cf11fcf9dcaf7469becac408414f63" args="() const " -->
<a class="el" href="classExiv2_1_1ExifData.html#2b8ac7a474d6527c0f3f6a0a9cebef77">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#97cf11fcf9dcaf7469becac408414f63">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="c0782f9bee7ddad3cf9f74f30a961d6b"></a><!-- doxytag: member="Exiv2::ExifData::end" ref="c0782f9bee7ddad3cf9f74f30a961d6b" args="() const " -->
<a class="el" href="classExiv2_1_1ExifData.html#2b8ac7a474d6527c0f3f6a0a9cebef77">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#c0782f9bee7ddad3cf9f74f30a961d6b">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="anchor" name="db57edad9a63385cb0be74bdfe3d01b6"></a><!-- doxytag: member="Exiv2::ExifData::findKey" ref="db57edad9a63385cb0be74bdfe3d01b6" args="(const ExifKey &amp;key) const " -->
<a class="el" href="classExiv2_1_1ExifData.html#2b8ac7a474d6527c0f3f6a0a9cebef77">const_iterator</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#db57edad9a63385cb0be74bdfe3d01b6">findKey</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> with the given <em>key</em>, return a const iterator to it. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4993c68fbb50731014c307852875c731"></a><!-- doxytag: member="Exiv2::ExifData::empty" ref="4993c68fbb50731014c307852875c731" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifData.html#4993c68fbb50731014c307852875c731">empty</a> () const </td></tr>

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

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of metadata entries. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds <a class="el" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate...">Exifdatum</a> objects. 
<p>
Provide high-level access to the Exif data of an image:<ul>
<li>read Exif information from JPEG files</li><li>access metadata through keys and standard C++ iterators</li><li>add, modify and delete metadata</li><li>write Exif data to JPEG files</li><li>extract Exif metadata to files, insert from these files</li><li>extract and delete Exif thumbnail (JPEG and TIFF thumbnails) </li></ul>
<dl compact><dt><b>Examples: </b></dt><dd>

<p>
<a class="el" href="addmoddel_8cpp-example.html#_a1">addmoddel.cpp</a>, <a class="el" href="exifcomment_8cpp-example.html#_a1">exifcomment.cpp</a>, and <a class="el" href="exifprint_8cpp-example.html#_a1">exifprint.cpp</a>.</dl><hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d809ad2a4689a15a899d1ddba954ae2b"></a><!-- doxytag: member="Exiv2::ExifData::add" ref="d809ad2a4689a15a899d1ddba954ae2b" args="(const Exifdatum &amp;exifdatum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::ExifData::add           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1Exifdatum.html">Exifdatum</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>exifdatum</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a copy of the <em>exifdatum</em> to the Exif metadata. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if the makernote cannot be created </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5c56fca27e6c2c3700d6138e8401f39e"></a><!-- doxytag: member="Exiv2::ExifData::operator[]" ref="5c56fca27e6c2c3700d6138e8401f39e" 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_1Exifdatum.html">Exifdatum</a> &amp; Exiv2::ExifData::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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a reference to the Exifdatum that is associated with a particular <em>key</em>. If ExifData does not already contain such an Exifdatum, operator[] adds object <em>Exifdatum(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>

<p>References <a class="el" href="exif_8cpp_source.html#l00375">add()</a>, <a class="el" href="exif_8hpp_source.html#l00488">end()</a>, and <a class="el" href="exif_8cpp_source.html#l00392">findKey()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="exif_8hpp.html">exif.hpp</a><li>exif.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:17:56 2009 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.9 </small></address>
</body>
</html>