<!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::IptcKey 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_1IptcKey.html">IptcKey</a></div> <h1>Exiv2::IptcKey Class Reference</h1><!-- doxytag: class="Exiv2::IptcKey" --><!-- doxytag: inherits="Exiv2::Key" -->Concrete keys for IPTC metadata. <a href="#_details">More...</a> <p> <code>#include <datasets.hpp></code> <p> <div class="dynheader"> Inheritance diagram for Exiv2::IptcKey:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1IptcKey__inherit__graph.png" border="0" usemap="#Exiv2_1_1IptcKey__inherit__map" alt="Inheritance graph"></center> <map name="Exiv2_1_1IptcKey__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::IptcKey:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1IptcKey__coll__graph.png" border="0" usemap="#Exiv2_1_1IptcKey__coll__map" alt="Collaboration graph"></center> <map name="Exiv2_1_1IptcKey__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_1IptcKey-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="66ec551c992d622b05ce5831c5a17adc"></a><!-- doxytag: member="Exiv2::IptcKey::AutoPtr" ref="66ec551c992d622b05ce5831c5a17adc" args="" --> typedef std::auto_ptr< <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#66ec551c992d622b05ce5831c5a17adc">AutoPtr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for an IptcKey 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_1IptcKey.html#988e8e6f9ce6686fd15cd1cc2e1156e5">IptcKey</a> (const std::string &key)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to create an IPTC key from a key string. <a href="#988e8e6f9ce6686fd15cd1cc2e1156e5"></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_1IptcKey.html#97fe8f71498b1e412894ed2475657101">IptcKey</a> (uint16_t tag, uint16_t record)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor to create an IPTC key from dataset and record ids. <a href="#97fe8f71498b1e412894ed2475657101"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea7dcce2b8a20888e3dfa518d79f1b14"></a><!-- doxytag: member="Exiv2::IptcKey::IptcKey" ref="ea7dcce2b8a20888e3dfa518d79f1b14" args="(const IptcKey &rhs)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#ea7dcce2b8a20888e3dfa518d79f1b14">IptcKey</a> (const <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> &rhs)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></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="9ee6c74469ab915b2265f57ffa84a20b"></a><!-- doxytag: member="Exiv2::IptcKey::operator=" ref="9ee6c74469ab915b2265f57ffa84a20b" args="(const IptcKey &rhs)" --> <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#9ee6c74469ab915b2265f57ffa84a20b">operator=</a> (const <a class="el" href="classExiv2_1_1IptcKey.html">IptcKey</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="0261b60a9495c476ecf64f89784e5a39"></a><!-- doxytag: member="Exiv2::IptcKey::key" ref="0261b60a9495c476ecf64f89784e5a39" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#0261b60a9495c476ecf64f89784e5a39">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="c1b82a74ea2b761ff354f2184d2aefb7"></a><!-- doxytag: member="Exiv2::IptcKey::familyName" ref="c1b82a74ea2b761ff354f2184d2aefb7" args="() const " --> virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#c1b82a74ea2b761ff354f2184d2aefb7">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="597d7afea6d79f0eb3a7ce7ed2d012d7"></a><!-- doxytag: member="Exiv2::IptcKey::groupName" ref="597d7afea6d79f0eb3a7ce7ed2d012d7" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#597d7afea6d79f0eb3a7ce7ed2d012d7">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 IPTC keys, the group name is the record name. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4811193d88b4dc1e24333905e21ab04"></a><!-- doxytag: member="Exiv2::IptcKey::tagName" ref="d4811193d88b4dc1e24333905e21ab04" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#d4811193d88b4dc1e24333905e21ab04">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="c9865753e8cf245b894351cc5eb0be24"></a><!-- doxytag: member="Exiv2::IptcKey::tagLabel" ref="c9865753e8cf245b894351cc5eb0be24" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#c9865753e8cf245b894351cc5eb0be24">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="342f2588ae6d02e4bf827be11db9f56b"></a><!-- doxytag: member="Exiv2::IptcKey::tag" ref="342f2588ae6d02e4bf827be11db9f56b" args="() const " --> virtual uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#342f2588ae6d02e4bf827be11db9f56b">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="8bd2fb57b5705bd68a537cfb5b285e60"></a><!-- doxytag: member="Exiv2::IptcKey::clone" ref="8bd2fb57b5705bd68a537cfb5b285e60" args="() const " --> <a class="el" href="classExiv2_1_1IptcKey.html#66ec551c992d622b05ce5831c5a17adc">AutoPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#8bd2fb57b5705bd68a537cfb5b285e60">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="10c0f0c028a88cde3d38449f0c512f8f"></a><!-- doxytag: member="Exiv2::IptcKey::recordName" ref="10c0f0c028a88cde3d38449f0c512f8f" args="() const " --> std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#10c0f0c028a88cde3d38449f0c512f8f">recordName</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the name of the record. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9aa405be7c02ac674eabc0ed6ae2dde7"></a><!-- doxytag: member="Exiv2::IptcKey::record" ref="9aa405be7c02ac674eabc0ed6ae2dde7" args="() const " --> uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#9aa405be7c02ac674eabc0ed6ae2dde7">record</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the record id. <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="f90cd2fd735f773145046bce37240a05"></a><!-- doxytag: member="Exiv2::IptcKey::makeKey" ref="f90cd2fd735f773145046bce37240a05" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1IptcKey.html#f90cd2fd735f773145046bce37240a05">makeKey</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the key corresponding to the dataset and record id. The key is of the form '<b>Iptc</b>.recordName.dataSetName'. <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_1IptcKey.html#90c5328803dc9aaf89cc91ff6f0fc92c">decomposeKey</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Parse and convert the key string into dataset and record 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="#90c5328803dc9aaf89cc91ff6f0fc92c"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Concrete keys for IPTC metadata. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="988e8e6f9ce6686fd15cd1cc2e1156e5"></a><!-- doxytag: member="Exiv2::IptcKey::IptcKey" ref="988e8e6f9ce6686fd15cd1cc2e1156e5" args="(const std::string &key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::IptcKey::IptcKey </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 IPTC 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>Iptc</b>' or the remaining parts of the key cannot be parsed and converted to a record name and a dataset name. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="97fe8f71498b1e412894ed2475657101"></a><!-- doxytag: member="Exiv2::IptcKey::IptcKey" ref="97fe8f71498b1e412894ed2475657101" args="(uint16_t tag, uint16_t record)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::IptcKey::IptcKey </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">uint16_t </td> <td class="paramname"> <em>record</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 IPTC key from dataset and record ids. <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>Dataset id </td></tr> <tr><td valign="top"></td><td valign="top"><em>record</em> </td><td>Record id </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="90c5328803dc9aaf89cc91ff6f0fc92c"></a><!-- doxytag: member="Exiv2::IptcKey::decomposeKey" ref="90c5328803dc9aaf89cc91ff6f0fc92c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Exiv2::IptcKey::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 dataset and record 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="datasets_8hpp.html">datasets.hpp</a></ul> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:03 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>