Sophie

Sophie

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

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::Xmpdatum 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_1Xmpdatum.html">Xmpdatum</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::Xmpdatum Class Reference</h1><!-- doxytag: class="Exiv2::Xmpdatum" --><!-- doxytag: inherits="Exiv2::Metadatum" -->Information related to an XMP property. An XMP metadatum consists of an <a class="el" href="classExiv2_1_1XmpKey.html" title="Concrete keys for XMP metadata.">XmpKey</a> and a <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> and provides methods to manipulate these.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;xmp.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::Xmpdatum:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Xmpdatum__inherit__graph.png" border="0" usemap="#Exiv2_1_1Xmpdatum__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1Xmpdatum__inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1Metadatum.html" title="Abstract base class defining the interface to access information related to one metadata..." alt="" coords="5,5,187,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::Xmpdatum:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Xmpdatum__coll__graph.png" border="0" usemap="#Exiv2_1_1Xmpdatum__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1Xmpdatum__coll__map">
<area shape="rect" id="node2" href="classExiv2_1_1Metadatum.html" title="Abstract base class defining the interface to access information related to one metadata..." alt="" coords="5,277,187,304"><area shape="rect" id="node4" href="structExiv2_1_1Xmpdatum_1_1Impl.html" title="Internal Pimpl structure of class Xmpdatum." alt="" coords="211,277,443,304"><area shape="rect" id="node8" href="classExiv2_1_1XmpKey.html" title="Concrete keys for XMP metadata." alt="" coords="21,96,173,123"><area shape="rect" id="node10" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="37,5,157,32"><area shape="rect" id="node12" title="STL class." alt="" coords="197,96,397,123"><area shape="rect" id="node18" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="421,96,563,123"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1Xmpdatum-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structExiv2_1_1Xmpdatum_1_1Impl.html">Impl</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="namespaceExiv2_1_1Internal.html" title="Contains internal objects which are not published and are not part of the libexiv2...">Internal</a> Pimpl structure of class <a class="el" href="classExiv2_1_1Xmpdatum.html" title="Information related to an XMP property. An XMP metadatum consists of an XmpKey and...">Xmpdatum</a>.  <a href="structExiv2_1_1Xmpdatum_1_1Impl.html#_details">More...</a><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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#bd992e7c9ed7233458ccf7be0b3e5d9c">Xmpdatum</a> (const <a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> &amp;key, const <a class="el" href="classExiv2_1_1Value.html">Value</a> *pValue=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor for new tags created by an application. The Xmpdatum is created from a key / value pair. Xmpdatum copies (clones) the value if one is provided. Alternatively, a program can create an 'empty' Xmpdatum with only a key and set the value using <a class="el" href="classExiv2_1_1Xmpdatum.html#e7647893d4f7a5577232ffe0c55efd47" title="Set the value. This method copies (clones) the value pointed to by pValue.">setValue()</a>.  <a href="#bd992e7c9ed7233458ccf7be0b3e5d9c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b66bc7df5fd4cc769562fe30661c94db"></a><!-- doxytag: member="Exiv2::Xmpdatum::Xmpdatum" ref="b66bc7df5fd4cc769562fe30661c94db" args="(const Xmpdatum &amp;rhs)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#b66bc7df5fd4cc769562fe30661c94db">Xmpdatum</a> (const <a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee068210c7e92357bf4496bbbd73254d"></a><!-- doxytag: member="Exiv2::Xmpdatum::~Xmpdatum" ref="ee068210c7e92357bf4496bbbd73254d" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#ee068210c7e92357bf4496bbbd73254d">~Xmpdatum</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <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="534ca3b3750c9824960c53a53d2fd29c"></a><!-- doxytag: member="Exiv2::Xmpdatum::operator=" ref="534ca3b3750c9824960c53a53d2fd29c" args="(const Xmpdatum &amp;rhs)" -->
<a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#534ca3b3750c9824960c53a53d2fd29c">operator=</a> (const <a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8f567325bc1c681cb80bbb53bc98bb7"></a><!-- doxytag: member="Exiv2::Xmpdatum::operator=" ref="b8f567325bc1c681cb80bbb53bc98bb7" args="(const std::string &amp;value)" -->
<a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#b8f567325bc1c681cb80bbb53bc98bb7">operator=</a> (const std::string &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign std::string <em>value</em> to the Xmpdatum. Calls <a class="el" href="classExiv2_1_1Xmpdatum.html#f8a422ab0e7e02f5526860e201e89e80" title="Set the value to the string value. Uses Value::read(const std::string&amp;). If the...">setValue(const std::string&amp;)</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2651103ef9d64a7172b59307a4d2a7c0"></a><!-- doxytag: member="Exiv2::Xmpdatum::operator=" ref="2651103ef9d64a7172b59307a4d2a7c0" args="(const char *value)" -->
<a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#2651103ef9d64a7172b59307a4d2a7c0">operator=</a> (const char *value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign const char* <em>value</em> to the Xmpdatum. Calls <a class="el" href="classExiv2_1_1Xmpdatum.html#b8f567325bc1c681cb80bbb53bc98bb7" title="Assign std::string value to the Xmpdatum. Calls setValue(const std::string&amp;)...">operator=(const std::string&amp;)</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ff7d6540c3e857222b1a8d3c8abd31c"></a><!-- doxytag: member="Exiv2::Xmpdatum::operator=" ref="7ff7d6540c3e857222b1a8d3c8abd31c" args="(const bool &amp;value)" -->
<a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#7ff7d6540c3e857222b1a8d3c8abd31c">operator=</a> (const bool &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a boolean <em>value</em> to the Xmpdatum. Translates the value to a string "true" or "false". <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d26de2a0cb785b341f5a8dce7524f295"></a><!-- doxytag: member="Exiv2::Xmpdatum::operator=" ref="d26de2a0cb785b341f5a8dce7524f295" args="(const T &amp;value)" -->
template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#d26de2a0cb785b341f5a8dce7524f295">operator=</a> (const T &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a <em>value</em> of any type with an output operator to the Xmpdatum. Calls <a class="el" href="classExiv2_1_1Xmpdatum.html#b8f567325bc1c681cb80bbb53bc98bb7" title="Assign std::string value to the Xmpdatum. Calls setValue(const std::string&amp;)...">operator=(const std::string&amp;)</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f08f7f56cedbf1f1db8f4bb3c99372ae"></a><!-- doxytag: member="Exiv2::Xmpdatum::operator=" ref="f08f7f56cedbf1f1db8f4bb3c99372ae" args="(const Value &amp;value)" -->
<a class="el" href="classExiv2_1_1Xmpdatum.html">Xmpdatum</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#f08f7f56cedbf1f1db8f4bb3c99372ae">operator=</a> (const <a class="el" href="classExiv2_1_1Value.html">Value</a> &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> <em>value</em> to the Xmpdatum. Calls <a class="el" href="classExiv2_1_1Xmpdatum.html#e7647893d4f7a5577232ffe0c55efd47" title="Set the value. This method copies (clones) the value pointed to by pValue.">setValue(const Value*)</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7647893d4f7a5577232ffe0c55efd47"></a><!-- doxytag: member="Exiv2::Xmpdatum::setValue" ref="e7647893d4f7a5577232ffe0c55efd47" args="(const Value *pValue)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#e7647893d4f7a5577232ffe0c55efd47">setValue</a> (const <a class="el" href="classExiv2_1_1Value.html">Value</a> *pValue)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value. This method copies (clones) the value pointed to by pValue. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8a422ab0e7e02f5526860e201e89e80"></a><!-- doxytag: member="Exiv2::Xmpdatum::setValue" ref="f8a422ab0e7e02f5526860e201e89e80" args="(const std::string &amp;value)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#f8a422ab0e7e02f5526860e201e89e80">setValue</a> (const std::string &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value to the string <em>value</em>. Uses <a class="el" href="classExiv2_1_1Value.html#cc8870f802ebcdf9d4e081816ad8956e" title="Read the value from a character buffer.">Value::read</a>(const std::string&amp;). If the Xmpdatum does not have a <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> yet, then a Value of the correct type for this Xmpdatum is created. If the key is unknown, a <a class="el" href="classExiv2_1_1XmpTextValue.html" title="Value type suitable for simple XMP properties and XMP nodes of complex types which...">XmpTextValue</a> is used as default. Return 0 if the value was read successfully. <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="2ba6162b1c5baac944b208f1401c9690"></a><!-- doxytag: member="Exiv2::Xmpdatum::copy" ref="2ba6162b1c5baac944b208f1401c9690" args="(byte *buf, ByteOrder byteOrder) const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#2ba6162b1c5baac944b208f1401c9690">copy</a> (<a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not implemented. Calling this method will raise an exception. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#5ba9818ed2cb6ac4726eed20d8b590a0">write</a> (std::ostream &amp;os, const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> *pMetadata=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write the interpreted value to an output stream, return the stream.  <a href="#5ba9818ed2cb6ac4726eed20d8b590a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35c2e7412443f4ca59923d69541b5c48"></a><!-- doxytag: member="Exiv2::Xmpdatum::key" ref="35c2e7412443f4ca59923d69541b5c48" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#35c2e7412443f4ca59923d69541b5c48">key</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the key of the <a class="el" href="classExiv2_1_1Xmpdatum.html" title="Information related to an XMP property. An XMP metadatum consists of an XmpKey and...">Xmpdatum</a>. The key is of the form '<b>Xmp</b>.prefix.property'. Note however that the key is not necessarily unique, i.e., an <a class="el" href="classExiv2_1_1XmpData.html" title="A container for XMP data. This is a top-level class of the Exiv2 library.">XmpData</a> object may contain multiple metadata with the same key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76bc1a21f77b753972f1e15469d31609"></a><!-- doxytag: member="Exiv2::Xmpdatum::familyName" ref="76bc1a21f77b753972f1e15469d31609" args="() const " -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#76bc1a21f77b753972f1e15469d31609">familyName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the metadata family (which is also the first part of the key). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9aa101dff70329bf7decc9cdb4d48b80"></a><!-- doxytag: member="Exiv2::Xmpdatum::groupName" ref="9aa101dff70329bf7decc9cdb4d48b80" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#9aa101dff70329bf7decc9cdb4d48b80">groupName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the (preferred) schema namespace prefix. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="931c5fb7a66e98ae2c8f79ac3e97d6f8"></a><!-- doxytag: member="Exiv2::Xmpdatum::tagName" ref="931c5fb7a66e98ae2c8f79ac3e97d6f8" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#931c5fb7a66e98ae2c8f79ac3e97d6f8">tagName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the property name. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0eb73ab392c7365c9346b2856f1d5ee9"></a><!-- doxytag: member="Exiv2::Xmpdatum::tagLabel" ref="0eb73ab392c7365c9346b2856f1d5ee9" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#0eb73ab392c7365c9346b2856f1d5ee9">tagLabel</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</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="6aeb0d22c53ef6ead4268a9cb4326d23"></a><!-- doxytag: member="Exiv2::Xmpdatum::tag" ref="6aeb0d22c53ef6ead4268a9cb4326d23" args="() const " -->
uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#6aeb0d22c53ef6ead4268a9cb4326d23">tag</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Properties don't have a tag number. Return 0. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aae019e4292ba327aaa54fd1f029157b"></a><!-- doxytag: member="Exiv2::Xmpdatum::typeId" ref="aae019e4292ba327aaa54fd1f029157b" args="() const " -->
<a class="el" href="namespaceExiv2.html#5153319711f35fe81cbc13f4b852450c">TypeId</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#aae019e4292ba327aaa54fd1f029157b">typeId</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the type id of the value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b49d1fb15f9c14a86a29d1db4553f105"></a><!-- doxytag: member="Exiv2::Xmpdatum::typeName" ref="b49d1fb15f9c14a86a29d1db4553f105" args="() const " -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#b49d1fb15f9c14a86a29d1db4553f105">typeName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the type. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="660bafc8f7cb0bb78098c032f16c88e1"></a><!-- doxytag: member="Exiv2::Xmpdatum::typeSize" ref="660bafc8f7cb0bb78098c032f16c88e1" args="() const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#660bafc8f7cb0bb78098c032f16c88e1">typeSize</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Exif typeSize doesn't make sense here. Return 0. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8986932860a664aa65d24538bb4c3458"></a><!-- doxytag: member="Exiv2::Xmpdatum::count" ref="8986932860a664aa65d24538bb4c3458" args="() const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#8986932860a664aa65d24538bb4c3458">count</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of components in the value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7ec013772d33edbed3a979fb3a41055"></a><!-- doxytag: member="Exiv2::Xmpdatum::size" ref="a7ec013772d33edbed3a979fb3a41055" args="() const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#a7ec013772d33edbed3a979fb3a41055">size</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the size of the value in bytes. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bdc9723ebe7d9d4eee9cbc2a8a79c9e"></a><!-- doxytag: member="Exiv2::Xmpdatum::toString" ref="6bdc9723ebe7d9d4eee9cbc2a8a79c9e" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#6bdc9723ebe7d9d4eee9cbc2a8a79c9e">toString</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the value as a string. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9faa9d7df363f71a80987c1c8aa7733d"></a><!-- doxytag: member="Exiv2::Xmpdatum::toString" ref="9faa9d7df363f71a80987c1c8aa7733d" args="(long n) const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#9faa9d7df363f71a80987c1c8aa7733d">toString</a> (long n) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <em>n</em>-th component of the value converted to a string. The behaviour of the method is undefined if there is no <em>n</em>-th component. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7045b67bc522474b8426b09319407f5"></a><!-- doxytag: member="Exiv2::Xmpdatum::toLong" ref="e7045b67bc522474b8426b09319407f5" args="(long n=0) const " -->
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#e7045b67bc522474b8426b09319407f5">toLong</a> (long n=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <em>n</em>-th component of the value converted to long. The return value is -1 if the value is not set and the behaviour of the method is undefined if there is no <em>n</em>-th component. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="370555c1183fc05401d6bbdafae53280"></a><!-- doxytag: member="Exiv2::Xmpdatum::toFloat" ref="370555c1183fc05401d6bbdafae53280" args="(long n=0) const " -->
float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#370555c1183fc05401d6bbdafae53280">toFloat</a> (long n=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <em>n</em>-th component of the value converted to float. The return value is -1 if the value is not set and the behaviour of the method is undefined if there is no <em>n</em>-th component. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f408695fcc5bdf498dbb661d9e0dd59"></a><!-- doxytag: member="Exiv2::Xmpdatum::toRational" ref="4f408695fcc5bdf498dbb661d9e0dd59" args="(long n=0) const " -->
<a class="el" href="namespaceExiv2.html#95756f3f7fa19103f83addf5fa088a30">Rational</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#4f408695fcc5bdf498dbb661d9e0dd59">toRational</a> (long n=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <em>n</em>-th component of the value converted to Rational. The return value is -1/1 if the value is not set and the behaviour of the method is undefined if there is no <em>n</em>-th component. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classExiv2_1_1Value.html#0f62e585b82c97738858b743e60dff21">Value::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#d18588a7058cabea035cad3568293ecb">getValue</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an auto-pointer to a copy (clone) of the value. The caller owns this copy and the auto-poiner ensures that it will be deleted.  <a href="#d18588a7058cabea035cad3568293ecb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classExiv2_1_1Value.html">Value</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Xmpdatum.html#7eadf7ef0bd9be2436c4376196815dcc">value</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a constant reference to the value.  <a href="#7eadf7ef0bd9be2436c4376196815dcc"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Information related to an XMP property. An XMP metadatum consists of an <a class="el" href="classExiv2_1_1XmpKey.html" title="Concrete keys for XMP metadata.">XmpKey</a> and a <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> and provides methods to manipulate these. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="bd992e7c9ed7233458ccf7be0b3e5d9c"></a><!-- doxytag: member="Exiv2::Xmpdatum::Xmpdatum" ref="bd992e7c9ed7233458ccf7be0b3e5d9c" args="(const XmpKey &amp;key, const Value *pValue=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Exiv2::Xmpdatum::Xmpdatum           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1XmpKey.html">XmpKey</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1Value.html">Value</a> *&nbsp;</td>
          <td class="paramname"> <em>pValue</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor for new tags created by an application. The Xmpdatum is created from a key / value pair. Xmpdatum copies (clones) the value if one is provided. Alternatively, a program can create an 'empty' Xmpdatum with only a key and set the value using <a class="el" href="classExiv2_1_1Xmpdatum.html#e7647893d4f7a5577232ffe0c55efd47" title="Set the value. This method copies (clones) the value pointed to by pValue.">setValue()</a>. 
<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>&nbsp;</td><td>The key of the Xmpdatum. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pValue</em>&nbsp;</td><td>Pointer to a Xmpdatum value. </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>&nbsp;</td><td>if the key cannot be parsed and converted to a known schema namespace prefix and property name. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d18588a7058cabea035cad3568293ecb"></a><!-- doxytag: member="Exiv2::Xmpdatum::getValue" ref="d18588a7058cabea035cad3568293ecb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Value.html#0f62e585b82c97738858b743e60dff21">Value::AutoPtr</a> Exiv2::Xmpdatum::getValue           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return an auto-pointer to a copy (clone) of the value. The caller owns this copy and the auto-poiner ensures that it will be deleted. 
<p>
This method is provided for users who need full control over the value. A caller may, e.g., downcast the pointer to the appropriate subclass of <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> to make use of the interface of the subclass to set or modify its contents.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An auto-pointer containing a pointer to a copy (clone) of the value, 0 if the value is not set. </dd></dl>

<p>Implements <a class="el" href="classExiv2_1_1Metadatum.html#1f3f53ab9df8c213ade42012a7e89ab3">Exiv2::Metadatum</a>.</p>

<p>References <a class="el" href="xmp_8cpp_source.html#l00118">Exiv2::Xmpdatum::Impl::value_</a>.</p>

</div>
</div><p>
<a class="anchor" name="7eadf7ef0bd9be2436c4376196815dcc"></a><!-- doxytag: member="Exiv2::Xmpdatum::value" ref="7eadf7ef0bd9be2436c4376196815dcc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classExiv2_1_1Value.html">Value</a> &amp; Exiv2::Xmpdatum::value           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a constant reference to the value. 
<p>
This method is provided mostly for convenient and versatile output of the value which can (to some extent) be formatted through standard stream manipulators. Do not attempt to write to the value through this reference.<p>
<b>Example:</b> <br>
 <div class="fragment"><pre class="fragment">          <a class="code" href="classExiv2_1_1ExifData.html#2b8ac7a474d6527c0f3f6a0a9cebef77" title="ExifMetadata const iterator type.">ExifData::const_iterator</a> i = exifData.findKey(<a class="code" href="classExiv2_1_1Xmpdatum.html#35c2e7412443f4ca59923d69541b5c48" title="Return the key of the Xmpdatum. The key is of the form &amp;#39;Xmp.prefix.property&amp;#39;...">key</a>);
          <span class="keywordflow">if</span> (i != exifData.end()) {
              std::cout &lt;&lt; i-&gt;key() &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; std::hex &lt;&lt; i-&gt;value() &lt;&lt; <span class="stringliteral">"\n"</span>;
          }
</pre></div><p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A constant reference to the value. </dd></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>&nbsp;</td><td>if the value is not set. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classExiv2_1_1Metadatum.html#67ab8d2752f951b70a8188341df9c7e6">Exiv2::Metadatum</a>.</p>

<p>References <a class="el" href="xmp_8cpp_source.html#l00118">Exiv2::Xmpdatum::Impl::value_</a>.</p>

<p>Referenced by <a class="el" href="xmp_8cpp_source.html#l00258">write()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5ba9818ed2cb6ac4726eed20d8b590a0"></a><!-- doxytag: member="Exiv2::Xmpdatum::write" ref="5ba9818ed2cb6ac4726eed20d8b590a0" args="(std::ostream &amp;os, const ExifData *pMetadata=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; Exiv2::Xmpdatum::write           </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> *&nbsp;</td>
          <td class="paramname"> <em>pMetadata</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write the interpreted value to an output stream, return the stream. 
<p>
The method takes an optional pointer to a metadata container. Pretty-print functions may use that to refer to other metadata as it is sometimes not sufficient to know only the value of the metadatum that should be interpreted. Thus, it is advisable to always call this method with a pointer to the metadata container if possible.<p>
This functionality is currently only implemented for Exif tags. The pointer is ignored when used to write IPTC datasets or XMP properties.<p>
Without the optional metadata pointer, you do not usually have to use this function; it is used for the implementation of the output operator for Metadatum, <a class="el" href="namespaceExiv2.html#8525be11fc92fcb2bd88e886daa1959a" title="Output operator for Metadatum types, writing the interpreted tag value.">operator&lt;&lt;(std::ostream &amp;os, const Metadatum &amp;md)</a>.<p>
See also <a class="el" href="classExiv2_1_1Metadatum.html#554fbe4c9641f72939fdfc3802220090" title="Write the interpreted value to a string.">print()</a>, which prints the interpreted value to a string. 
<p>Implements <a class="el" href="classExiv2_1_1Metadatum.html#63c2b87249ba96679c29e01218169124">Exiv2::Metadatum</a>.</p>

<p>References <a class="el" href="xmp_8cpp_source.html#l00166">key()</a>, <a class="el" href="classExiv2_1_1XmpProperties.html#406a3bada810fc6f720a2c3a989e09e4">Exiv2::XmpProperties::printProperty()</a>, and <a class="el" href="xmp_8cpp_source.html#l00246">value()</a>.</p>

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