Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates > by-pkgid > 8b93c7974abbd359ec3a5ea81eee3220 > files > 729

exiv2-doc-0.24-5.2.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>Exiv2: Exiv2::Metadatum Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Exiv2
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;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>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceExiv2.html">Exiv2</a></li><li class="navelem"><a class="el" href="classExiv2_1_1Metadatum.html">Metadatum</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classExiv2_1_1Metadatum-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Exiv2::Metadatum Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract base class defining the interface to access information related to one metadata tag.  
 <a href="classExiv2_1_1Metadatum.html#details">More...</a></p>

<p><code>#include &lt;metadatum.hpp&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Exiv2::Metadatum:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classExiv2_1_1Metadatum__inherit__graph.png" border="0" usemap="#Exiv2_1_1Metadatum_inherit__map" alt="Inheritance graph"/></div>
<map name="Exiv2_1_1Metadatum_inherit__map" id="Exiv2_1_1Metadatum_inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1Exifdatum.html" title="An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these..." alt="" coords="5,80,188,107"/><area shape="rect" id="node3" href="classExiv2_1_1Iptcdatum.html" title="An IPTC metadatum (&quot;dataset&quot;), consisting of an IptcKey and a Value and methods to manipulate these..." alt="" coords="212,80,395,107"/><area shape="rect" id="node4" href="classExiv2_1_1Xmpdatum.html" title="Information related to an XMP property. An XMP metadatum consists of an XmpKey and a Value and provid..." alt="" coords="419,80,591,107"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr>
<tr class="memitem:a1d7ef6f699dc1448ddf37c5e8938808a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d7ef6f699dc1448ddf37c5e8938808a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a1d7ef6f699dc1448ddf37c5e8938808a">Metadatum</a> ()</td></tr>
<tr class="memdesc:a1d7ef6f699dc1448ddf37c5e8938808a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor. <br /></td></tr>
<tr class="separator:a1d7ef6f699dc1448ddf37c5e8938808a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4b96033393a69d1382570f638d7243b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4b96033393a69d1382570f638d7243b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#aa4b96033393a69d1382570f638d7243b">Metadatum</a> (const <a class="el" href="classExiv2_1_1Metadatum.html">Metadatum</a> &amp;rhs)</td></tr>
<tr class="memdesc:aa4b96033393a69d1382570f638d7243b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:aa4b96033393a69d1382570f638d7243b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a707ffcc6121daf24e5b191eb55181b35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a707ffcc6121daf24e5b191eb55181b35"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a707ffcc6121daf24e5b191eb55181b35">~Metadatum</a> ()</td></tr>
<tr class="memdesc:a707ffcc6121daf24e5b191eb55181b35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a707ffcc6121daf24e5b191eb55181b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr class="memitem:a554fbe4c9641f72939fdfc3802220090"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a554fbe4c9641f72939fdfc3802220090">print</a> (const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> *pMetadata=0) const </td></tr>
<tr class="memdesc:a554fbe4c9641f72939fdfc3802220090"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the interpreted value to a string.  <a href="#a554fbe4c9641f72939fdfc3802220090">More...</a><br /></td></tr>
<tr class="separator:a554fbe4c9641f72939fdfc3802220090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24bda0168b0655ccbbc8b870b583f1da"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a24bda0168b0655ccbbc8b870b583f1da">copy</a> (<a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder) const =0</td></tr>
<tr class="memdesc:a24bda0168b0655ccbbc8b870b583f1da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write value to a data buffer and return the number of bytes written.  <a href="#a24bda0168b0655ccbbc8b870b583f1da">More...</a><br /></td></tr>
<tr class="separator:a24bda0168b0655ccbbc8b870b583f1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63c2b87249ba96679c29e01218169124"><td class="memItemLeft" align="right" valign="top">virtual std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a63c2b87249ba96679c29e01218169124">write</a> (std::ostream &amp;os, const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> *pMetadata=0) const =0</td></tr>
<tr class="memdesc:a63c2b87249ba96679c29e01218169124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the interpreted value to an output stream, return the stream.  <a href="#a63c2b87249ba96679c29e01218169124">More...</a><br /></td></tr>
<tr class="separator:a63c2b87249ba96679c29e01218169124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9d30791ac19ecd4a80cd9214f3d1495"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9d30791ac19ecd4a80cd9214f3d1495"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#af9d30791ac19ecd4a80cd9214f3d1495">key</a> () const =0</td></tr>
<tr class="memdesc:af9d30791ac19ecd4a80cd9214f3d1495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the key of the metadatum. 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 holds Exifda...">ExifData</a> object may contain multiple metadata with the same key. <br /></td></tr>
<tr class="separator:af9d30791ac19ecd4a80cd9214f3d1495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8383c39e2ee4e67afdb9f7180bd728e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8383c39e2ee4e67afdb9f7180bd728e7"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a8383c39e2ee4e67afdb9f7180bd728e7">familyName</a> () const =0</td></tr>
<tr class="memdesc:a8383c39e2ee4e67afdb9f7180bd728e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the metadata family (which is also the first part of the key) <br /></td></tr>
<tr class="separator:a8383c39e2ee4e67afdb9f7180bd728e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a880644b1b92788c59b4457ca9d692c55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a880644b1b92788c59b4457ca9d692c55"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a880644b1b92788c59b4457ca9d692c55">groupName</a> () const =0</td></tr>
<tr class="memdesc:a880644b1b92788c59b4457ca9d692c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the metadata group (which is also the second part of the key) <br /></td></tr>
<tr class="separator:a880644b1b92788c59b4457ca9d692c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a828306096c0575ffc5d02c73c3b6ff53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a828306096c0575ffc5d02c73c3b6ff53"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a828306096c0575ffc5d02c73c3b6ff53">tagName</a> () const =0</td></tr>
<tr class="memdesc:a828306096c0575ffc5d02c73c3b6ff53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the tag (which is also the third part of the key) <br /></td></tr>
<tr class="separator:a828306096c0575ffc5d02c73c3b6ff53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58cd8a22d1debd0e3f8cd2407587ed31"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58cd8a22d1debd0e3f8cd2407587ed31"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a58cd8a22d1debd0e3f8cd2407587ed31">tagLabel</a> () const =0</td></tr>
<tr class="memdesc:a58cd8a22d1debd0e3f8cd2407587ed31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a label for the tag. <br /></td></tr>
<tr class="separator:a58cd8a22d1debd0e3f8cd2407587ed31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39ee5937edab29d199f3d318bb55eace"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39ee5937edab29d199f3d318bb55eace"></a>
virtual uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a39ee5937edab29d199f3d318bb55eace">tag</a> () const =0</td></tr>
<tr class="memdesc:a39ee5937edab29d199f3d318bb55eace"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the tag. <br /></td></tr>
<tr class="separator:a39ee5937edab29d199f3d318bb55eace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4c5f021786e0e7abc3ae25b984f4e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f4c5f021786e0e7abc3ae25b984f4e8"></a>
virtual <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">TypeId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a0f4c5f021786e0e7abc3ae25b984f4e8">typeId</a> () const =0</td></tr>
<tr class="memdesc:a0f4c5f021786e0e7abc3ae25b984f4e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type id of the value. <br /></td></tr>
<tr class="separator:a0f4c5f021786e0e7abc3ae25b984f4e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3fc08927500d7fe227bc34583815dfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3fc08927500d7fe227bc34583815dfe"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#ac3fc08927500d7fe227bc34583815dfe">typeName</a> () const =0</td></tr>
<tr class="memdesc:ac3fc08927500d7fe227bc34583815dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the type. <br /></td></tr>
<tr class="separator:ac3fc08927500d7fe227bc34583815dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a77c33ee0ba24127dff478e26ba8fa7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a77c33ee0ba24127dff478e26ba8fa7"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a1a77c33ee0ba24127dff478e26ba8fa7">typeSize</a> () const =0</td></tr>
<tr class="memdesc:a1a77c33ee0ba24127dff478e26ba8fa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size in bytes of one component of this type. <br /></td></tr>
<tr class="separator:a1a77c33ee0ba24127dff478e26ba8fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75740ff36685a69d617e0b9548fcf2b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75740ff36685a69d617e0b9548fcf2b4"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a75740ff36685a69d617e0b9548fcf2b4">count</a> () const =0</td></tr>
<tr class="memdesc:a75740ff36685a69d617e0b9548fcf2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of components in the value. <br /></td></tr>
<tr class="separator:a75740ff36685a69d617e0b9548fcf2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05e186d6189b44ac428b7d21a8dbc762"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05e186d6189b44ac428b7d21a8dbc762"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a05e186d6189b44ac428b7d21a8dbc762">size</a> () const =0</td></tr>
<tr class="memdesc:a05e186d6189b44ac428b7d21a8dbc762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size of the value in bytes. <br /></td></tr>
<tr class="separator:a05e186d6189b44ac428b7d21a8dbc762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8617d2efd0c1a241e96e853b7f00f077"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8617d2efd0c1a241e96e853b7f00f077"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a8617d2efd0c1a241e96e853b7f00f077">toString</a> () const =0</td></tr>
<tr class="memdesc:a8617d2efd0c1a241e96e853b7f00f077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value as a string. <br /></td></tr>
<tr class="separator:a8617d2efd0c1a241e96e853b7f00f077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25cbb22ddf9597cfd4002dafb8713cfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25cbb22ddf9597cfd4002dafb8713cfd"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a25cbb22ddf9597cfd4002dafb8713cfd">toString</a> (long n) const =0</td></tr>
<tr class="memdesc:a25cbb22ddf9597cfd4002dafb8713cfd"><td class="mdescLeft">&#160;</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 class="separator:a25cbb22ddf9597cfd4002dafb8713cfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66148c73f1b565885b4ee51358ae4308"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66148c73f1b565885b4ee51358ae4308"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a66148c73f1b565885b4ee51358ae4308">toLong</a> (long n=0) const =0</td></tr>
<tr class="memdesc:a66148c73f1b565885b4ee51358ae4308"><td class="mdescLeft">&#160;</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 class="separator:a66148c73f1b565885b4ee51358ae4308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa70af228d888327badd2333020256ac2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa70af228d888327badd2333020256ac2"></a>
virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#aa70af228d888327badd2333020256ac2">toFloat</a> (long n=0) const =0</td></tr>
<tr class="memdesc:aa70af228d888327badd2333020256ac2"><td class="mdescLeft">&#160;</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 class="separator:aa70af228d888327badd2333020256ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea1935014f316b7a2eabc12be92ca7c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea1935014f316b7a2eabc12be92ca7c9"></a>
virtual <a class="el" href="namespaceExiv2.html#a95756f3f7fa19103f83addf5fa088a30">Rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#aea1935014f316b7a2eabc12be92ca7c9">toRational</a> (long n=0) const =0</td></tr>
<tr class="memdesc:aea1935014f316b7a2eabc12be92ca7c9"><td class="mdescLeft">&#160;</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 class="separator:aea1935014f316b7a2eabc12be92ca7c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f3f53ab9df8c213ade42012a7e89ab3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classExiv2_1_1Value.html#a0f62e585b82c97738858b743e60dff21">Value::AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a1f3f53ab9df8c213ade42012a7e89ab3">getValue</a> () const =0</td></tr>
<tr class="memdesc:a1f3f53ab9df8c213ade42012a7e89ab3"><td class="mdescLeft">&#160;</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="#a1f3f53ab9df8c213ade42012a7e89ab3">More...</a><br /></td></tr>
<tr class="separator:a1f3f53ab9df8c213ade42012a7e89ab3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67ab8d2752f951b70a8188341df9c7e6"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classExiv2_1_1Value.html">Value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a67ab8d2752f951b70a8188341df9c7e6">value</a> () const =0</td></tr>
<tr class="memdesc:a67ab8d2752f951b70a8188341df9c7e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a constant reference to the value.  <a href="#a67ab8d2752f951b70a8188341df9c7e6">More...</a><br /></td></tr>
<tr class="separator:a67ab8d2752f951b70a8188341df9c7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Manipulators</h2></td></tr>
<tr class="memitem:af4dd21ad1c59ae0bbe521651951615f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4dd21ad1c59ae0bbe521651951615f3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#af4dd21ad1c59ae0bbe521651951615f3">setValue</a> (const <a class="el" href="classExiv2_1_1Value.html">Value</a> *pValue)=0</td></tr>
<tr class="memdesc:af4dd21ad1c59ae0bbe521651951615f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value. This method copies (clones) the value pointed to by pValue. <br /></td></tr>
<tr class="separator:af4dd21ad1c59ae0bbe521651951615f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a246b60cc8cca54ce6a6e97eeb4ef84bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a246b60cc8cca54ce6a6e97eeb4ef84bc"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#a246b60cc8cca54ce6a6e97eeb4ef84bc">setValue</a> (const std::string &amp;buf)=0</td></tr>
<tr class="memdesc:a246b60cc8cca54ce6a6e97eeb4ef84bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value to the string buf. Uses <a class="el" href="classExiv2_1_1Value.html#a2864378d7572310aa5f4cf4127365862" title="Set the value from a string buffer. The format of the string corresponds to that of the write() metho...">Value::read(const std::string&amp; buf)</a>. If the metadatum does not have a value yet, then one is created. See subclasses for more details. Return 0 if the value was read successfully. <br /></td></tr>
<tr class="separator:a246b60cc8cca54ce6a6e97eeb4ef84bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb23718131525db38ad4d94f43c73792"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb23718131525db38ad4d94f43c73792"></a>
<a class="el" href="classExiv2_1_1Metadatum.html">Metadatum</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Metadatum.html#acb23718131525db38ad4d94f43c73792">operator=</a> (const <a class="el" href="classExiv2_1_1Metadatum.html">Metadatum</a> &amp;rhs)</td></tr>
<tr class="memdesc:acb23718131525db38ad4d94f43c73792"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. Protected so that it can only be used by subclasses but not directly. <br /></td></tr>
<tr class="separator:acb23718131525db38ad4d94f43c73792"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract base class defining the interface to access information related to one metadata tag. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a24bda0168b0655ccbbc8b870b583f1da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual long Exiv2::Metadatum::copy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&#160;</td>
          <td class="paramname"><em>byteOrder</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write value to a data buffer and return the number of bytes written. </p>
<p>The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>Data buffer to write to. </td></tr>
    <tr><td class="paramname">byteOrder</td><td>Applicable byte order (little or big endian). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of characters written. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1Exifdatum.html#a28391f10f14d66cabeb8042853e311cd">Exiv2::Exifdatum</a>, <a class="el" href="classExiv2_1_1Xmpdatum.html#a2ba6162b1c5baac944b208f1401c9690">Exiv2::Xmpdatum</a>, and <a class="el" href="classExiv2_1_1Iptcdatum.html#afef33191871750f8b1c760d46f553c51">Exiv2::Iptcdatum</a>.</p>

<p>Referenced by <a class="el" href="classAction_1_1Print.html#ae2cd7252a98bc92ba6dbaa17c2955e8f">Action::Print::printMetadatum()</a>.</p>

</div>
</div>
<a class="anchor" id="a1f3f53ab9df8c213ade42012a7e89ab3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classExiv2_1_1Value.html#a0f62e585b82c97738858b743e60dff21">Value::AutoPtr</a> Exiv2::Metadatum::getValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </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>
<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="section return"><dt>Returns</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>Implemented in <a class="el" href="classExiv2_1_1Exifdatum.html#a69fee053db7f4e55295f7ff1c4d34566">Exiv2::Exifdatum</a>, <a class="el" href="classExiv2_1_1Iptcdatum.html#adde9e41e4fda8d1cd9e5947e44cbf40a">Exiv2::Iptcdatum</a>, and <a class="el" href="classExiv2_1_1Xmpdatum.html#ad18588a7058cabea035cad3568293ecb">Exiv2::Xmpdatum</a>.</p>

</div>
</div>
<a class="anchor" id="a554fbe4c9641f72939fdfc3802220090"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string Exiv2::Metadatum::print </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1ExifData.html">ExifData</a> *&#160;</td>
          <td class="paramname"><em>pMetadata</em> = <code>0</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write the interpreted value to a string. </p>
<p>Implemented in terms of <a class="el" href="classExiv2_1_1Metadatum.html#a63c2b87249ba96679c29e01218169124" title="Write the interpreted value to an output stream, return the stream. ">write()</a>, see there. </p>

<p>References <a class="el" href="classExiv2_1_1Metadatum.html#a63c2b87249ba96679c29e01218169124">write()</a>.</p>

<p>Referenced by <a class="el" href="classAction_1_1Print.html#ae2cd7252a98bc92ba6dbaa17c2955e8f">Action::Print::printMetadatum()</a>.</p>

</div>
</div>
<a class="anchor" id="a67ab8d2752f951b70a8188341df9c7e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classExiv2_1_1Value.html">Value</a>&amp; Exiv2::Metadatum::value </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return a constant reference to the value. </p>
<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. An Error is thrown if the value is not set; as an alternative to catching it, one can use <a class="el" href="classExiv2_1_1Metadatum.html#a75740ff36685a69d617e0b9548fcf2b4" title="Return the number of components in the value. ">count()</a> to check if there is any data before calling this method.</p>
<dl class="section return"><dt>Returns</dt><dd>A constant reference to the value. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>if the value is not set. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classExiv2_1_1Exifdatum.html#a44d8261179011b2f68075d805e565866">Exiv2::Exifdatum</a>, <a class="el" href="classExiv2_1_1Iptcdatum.html#a799184a3a000bda2432a0b7366c2dfb2">Exiv2::Iptcdatum</a>, and <a class="el" href="classExiv2_1_1Xmpdatum.html#a7eadf7ef0bd9be2436c4376196815dcc">Exiv2::Xmpdatum</a>.</p>

<p>Referenced by <a class="el" href="classAction_1_1Print.html#ae2cd7252a98bc92ba6dbaa17c2955e8f">Action::Print::printMetadatum()</a>.</p>

</div>
</div>
<a class="anchor" id="a63c2b87249ba96679c29e01218169124"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::ostream&amp; Exiv2::Metadatum::write </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</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> *&#160;</td>
          <td class="paramname"><em>pMetadata</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Write the interpreted value to an output stream, return the stream. </p>
<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>
<p>This functionality is currently only implemented for Exif tags. The pointer is ignored when used to write IPTC datasets or XMP properties.</p>
<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#a8525be11fc92fcb2bd88e886daa1959a" title="Output operator for Metadatum types, writing the interpreted tag value. ">operator&lt;&lt;(std::ostream &amp;os, const Metadatum &amp;md)</a>.</p>
<p>See also <a class="el" href="classExiv2_1_1Metadatum.html#a554fbe4c9641f72939fdfc3802220090" title="Write the interpreted value to a string. ">print()</a>, which prints the interpreted value to a string. </p>

<p>Implemented in <a class="el" href="classExiv2_1_1Exifdatum.html#a2ba934f8a9fb3a93ae71e605bc85c921">Exiv2::Exifdatum</a>, <a class="el" href="classExiv2_1_1Xmpdatum.html#a5ba9818ed2cb6ac4726eed20d8b590a0">Exiv2::Xmpdatum</a>, and <a class="el" href="classExiv2_1_1Iptcdatum.html#a200b7d5d6f0e49e3c29d631f561c879f">Exiv2::Iptcdatum</a>.</p>

<p>Referenced by <a class="el" href="namespaceExiv2.html#a8525be11fc92fcb2bd88e886daa1959a">Exiv2::operator&lt;&lt;()</a>, and <a class="el" href="classExiv2_1_1Metadatum.html#a554fbe4c9641f72939fdfc3802220090">print()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="metadatum_8hpp.html">metadatum.hpp</a></li>
<li>metadatum.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 26 2017 16:50:15 for Exiv2 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>