<!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::ExifKey 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 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> <u>S</u>earch for </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 List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="nav"> <a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a></div> <h1>Exiv2::ExifKey Class Reference</h1><!-- doxytag: class="Exiv2::ExifKey" --><!-- doxytag: inherits="Exiv2::Key" -->Concrete keys for Exif metadata. <a href="#_details">More...</a> <p> <code>#include <tags.hpp></code> <p> <div class="dynheader"> Inheritance diagram for Exiv2::ExifKey:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1ExifKey__inherit__graph.png" border="0" usemap="#Exiv2_1_1ExifKey__inherit__map" alt="Inheritance graph"></center> <map name="Exiv2_1_1ExifKey__inherit__map"> <area shape="rect" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="25,7,145,31"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for Exiv2::ExifKey:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1ExifKey__coll__graph.png" border="0" usemap="#Exiv2_1_1ExifKey__coll__map" alt="Collaboration graph"></center> <map name="Exiv2_1_1ExifKey__coll__map"> <area shape="rect" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="5,172,125,196"><area shape="rect" title="STL class." alt="" coords="149,172,280,196"><area shape="rect" title="STL class." alt="" coords="79,7,351,31"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classExiv2_1_1ExifKey-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="88f3c3ee83cc5c342ab72c777d5e12ce"></a><!-- doxytag: member="Exiv2::ExifKey::AutoPtr" ref="88f3c3ee83cc5c342ab72c777d5e12ce" args="" --> typedef std::auto_ptr< <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#88f3c3ee83cc5c342ab72c777d5e12ce">AutoPtr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for an ExifKey auto pointer. <br></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#0874f4846012c3c0b67690ebb3fe9f9a">ExifKey</a> (const std::string &key)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to create an Exif key from a key string. <a href="#0874f4846012c3c0b67690ebb3fe9f9a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#ee189320881e1fb26d0125978214d6ec">ExifKey</a> (uint16_t tag, const std::string &ifdItem)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to create an Exif key from a tag and IFD item string. <a href="#ee189320881e1fb26d0125978214d6ec"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed2343725793982f89845a1b9d7d30d0"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="ed2343725793982f89845a1b9d7d30d0" args="(const Entry &e)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#ed2343725793982f89845a1b9d7d30d0">ExifKey</a> (const <a class="el" href="classExiv2_1_1Entry.html">Entry</a> &e)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to build an <a class="el" href="classExiv2_1_1ExifKey.html" title="Concrete keys for Exif metadata.">ExifKey</a> from an IFD entry. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60c87fdaf37922883f415a7ba244a968"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="60c87fdaf37922883f415a7ba244a968" args="(const ExifKey &rhs)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#60c87fdaf37922883f415a7ba244a968">ExifKey</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea3edf48f1185c36b3ad726f03fd5c92"></a><!-- doxytag: member="Exiv2::ExifKey::~ExifKey" ref="ea3edf48f1185c36b3ad726f03fd5c92" args="()" --> virtual </td><td class="memItemRight" valign="bottom"><b>~ExifKey</b> ()</td></tr> <tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="906f6ecf9e2fd85632b9cd8ca682b723"></a><!-- doxytag: member="Exiv2::ExifKey::operator=" ref="906f6ecf9e2fd85632b9cd8ca682b723" args="(const ExifKey &rhs)" --> <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#906f6ecf9e2fd85632b9cd8ca682b723">operator=</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <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="3b59e0750199f96324f5ef44719834c6"></a><!-- doxytag: member="Exiv2::ExifKey::key" ref="3b59e0750199f96324f5ef44719834c6" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#3b59e0750199f96324f5ef44719834c6">key</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">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 <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> may contain multiple metadata with the same key. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="352f1370ce42657386071fcca25555aa"></a><!-- doxytag: member="Exiv2::ExifKey::familyName" ref="352f1370ce42657386071fcca25555aa" args="() const " --> virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#352f1370ce42657386071fcca25555aa">familyName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return an identifier for the type of metadata (the first part of the key). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03e334874d5a14d2221cfa9b58672c6f"></a><!-- doxytag: member="Exiv2::ExifKey::groupName" ref="03e334874d5a14d2221cfa9b58672c6f" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#03e334874d5a14d2221cfa9b58672c6f">groupName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the group (the second part of the key). For Exif keys, the group name is the IFD item. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0970d1d4dd9eb3239fddb20067086573"></a><!-- doxytag: member="Exiv2::ExifKey::tagName" ref="0970d1d4dd9eb3239fddb20067086573" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#0970d1d4dd9eb3239fddb20067086573">tagName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the tag (which is also the third part of the key). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b28890923bab03724cd0352ec62172d"></a><!-- doxytag: member="Exiv2::ExifKey::tagLabel" ref="3b28890923bab03724cd0352ec62172d" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#3b28890923bab03724cd0352ec62172d">tagLabel</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a label for the tag. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68e925f382052cc3ac88a6ef7397236d"></a><!-- doxytag: member="Exiv2::ExifKey::tag" ref="68e925f382052cc3ac88a6ef7397236d" args="() const " --> virtual uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#68e925f382052cc3ac88a6ef7397236d">tag</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the tag number. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="487d4b68bdcca1fee0fca0fb81201737"></a><!-- doxytag: member="Exiv2::ExifKey::clone" ref="487d4b68bdcca1fee0fca0fb81201737" args="() const " --> <a class="el" href="classExiv2_1_1Key.html#9bf9953294ceb8d272908a0680aeade8">AutoPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#487d4b68bdcca1fee0fca0fb81201737">clone</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">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. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed7f3e5223971db79857d1b65ffaa246"></a><!-- doxytag: member="Exiv2::ExifKey::ifdId" ref="ed7f3e5223971db79857d1b65ffaa246" args="() const " --> <a class="el" href="namespaceExiv2.html#1615152767a506a955c9d13443b56b62">IfdId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#ed7f3e5223971db79857d1b65ffaa246">ifdId</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the IFD id. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ab50336317da0559ab9a69a5aedce7d"></a><!-- doxytag: member="Exiv2::ExifKey::ifdName" ref="8ab50336317da0559ab9a69a5aedce7d" args="() const " --> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#8ab50336317da0559ab9a69a5aedce7d">ifdName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the IFD. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b261d0d99befc544926e32cb66d6ff89"></a><!-- doxytag: member="Exiv2::ExifKey::ifdItem" ref="b261d0d99befc544926e32cb66d6ff89" args="() const " --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#b261d0d99befc544926e32cb66d6ff89">ifdItem</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the related image item. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="141e928c87da2ec1a8d52c0238b7eea3"></a><!-- doxytag: member="Exiv2::ExifKey::sectionName" ref="141e928c87da2ec1a8d52c0238b7eea3" args="() const " --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#141e928c87da2ec1a8d52c0238b7eea3">sectionName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the Exif section (deprecated). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7c5de10de9b6734b060e3433118926b"></a><!-- doxytag: member="Exiv2::ExifKey::idx" ref="d7c5de10de9b6734b060e3433118926b" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#d7c5de10de9b6734b060e3433118926b">idx</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the index (unique id of this key within the original IFD). <br></td></tr> <tr><td colspan="2"><br><h2>Protected 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="anchor" name="846712abec6df0ebc811626c8278c51d"></a><!-- doxytag: member="Exiv2::ExifKey::makeKey" ref="846712abec6df0ebc811626c8278c51d" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#846712abec6df0ebc811626c8278c51d">makeKey</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the key corresponding to the tag and IFD id. The key is of the form '<b>Exif</b>.ifdItem.tagName'. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#a326e0ffab35813b6c34513073893b3c">decomposeKey</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws <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> . <a href="#a326e0ffab35813b6c34513073893b3c"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Concrete keys for Exif metadata. <dl compact><dt><b>Examples: </b></dt><dd> <p> <a class="el" href="addmoddel_8cpp-example.html#_a3">addmoddel.cpp</a>.</dl><hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="0874f4846012c3c0b67690ebb3fe9f9a"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="0874f4846012c3c0b67690ebb3fe9f9a" args="(const std::string &key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::ExifKey::ExifKey </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>key</em> </td> <td> ) </td> <td width="100%"><code> [explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor to create an Exif key from a key string. <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>key</em> </td><td>The key string. </td></tr> </table> </dl> <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> </td><td>if the first part of the key is not '<b>Exif</b>' or the remainin parts of the key cannot be parsed and converted to an ifd-item and tag name. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="ee189320881e1fb26d0125978214d6ec"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="ee189320881e1fb26d0125978214d6ec" args="(uint16_t tag, const std::string &ifdItem)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::ExifKey::ExifKey </td> <td>(</td> <td class="paramtype">uint16_t </td> <td class="paramname"> <em>tag</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>ifdItem</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor to create an Exif key from a tag and IFD item string. <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>tag</em> </td><td>The tag value </td></tr> <tr><td valign="top"></td><td valign="top"><em>ifdItem</em> </td><td>The IFD string. For <a class="el" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface.">MakerNote</a> tags, this must be the IFD item of the specific <a class="el" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface.">MakerNote</a>. "MakerNote" is not allowed. </td></tr> </table> </dl> <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> </td><td>if the key cannot be constructed from the tag and IFD item parameters. </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="a326e0ffab35813b6c34513073893b3c"></a><!-- doxytag: member="Exiv2::ExifKey::decomposeKey" ref="a326e0ffab35813b6c34513073893b3c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Exiv2::ExifKey::decomposeKey </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws <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> . <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> </td><td>if the key cannot be decomposed. </td></tr> </table> </dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="tags_8hpp.html">tags.hpp</a></ul> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:10 2008 for Exiv2 by <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>