Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates > by-pkgid > 12cd2b60e7ffa1b93f26cacdd7197eb9 > files > 858

exiv2-doc-0.24-5.1.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::Value 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_1Value.html">Value</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classExiv2_1_1Value-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Exiv2::Value Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Common interface for all types of values used with metadata.  
 <a href="classExiv2_1_1Value.html#details">More...</a></p>

<p><code>#include &lt;value.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::Value:</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_1Value__inherit__graph.png" border="0" usemap="#Exiv2_1_1Value_inherit__map" alt="Inheritance graph"/></div>
<map name="Exiv2_1_1Value_inherit__map" id="Exiv2_1_1Value_inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1DataValue.html" title="Value for an undefined data type. " alt="" coords="226,5,409,32"/><area shape="rect" id="node3" href="classExiv2_1_1DateValue.html" title="Value for simple ISO 8601 dates " alt="" coords="226,56,409,83"/><area shape="rect" id="node4" href="classExiv2_1_1StringValueBase.html" title="Abstract base class for a string based Value type. " alt="" coords="196,107,439,133"/><area shape="rect" id="node8" href="classExiv2_1_1TimeValue.html" title="Value for simple ISO 8601 times. " alt="" coords="226,157,409,184"/><area shape="rect" id="node9" href="classExiv2_1_1ValueType.html" title="Template for a Value of a basic type. This is used for unsigned and signed short, long and rationals..." alt="" coords="201,208,433,235"/><area shape="rect" id="node10" href="classExiv2_1_1XmpValue.html" title="Base class for all Exiv2 values used to store XMP property values. " alt="" coords="231,259,403,285"/><area shape="rect" id="node5" href="classExiv2_1_1AsciiValue.html" title="Value for an Ascii string type. " alt="" coords="502,56,694,83"/><area shape="rect" id="node6" href="classExiv2_1_1CommentValue.html" title="Value for an Exif comment. " alt="" coords="492,107,704,133"/><area shape="rect" id="node7" href="classExiv2_1_1StringValue.html" title="Value for string type. " alt="" coords="497,157,699,184"/><area shape="rect" id="node11" href="classExiv2_1_1LangAltValue.html" title="Value type for XMP language alternative properties. " alt="" coords="492,208,704,235"/><area shape="rect" id="node12" href="classExiv2_1_1XmpArrayValue.html" title="Value type for simple arrays. Each item in the array is a simple value, without qualifiers. The array may be an ordered (seq), unordered (bag) or alternative array (alt). The array items must not contain qualifiers. For language alternatives use LangAltValue. " alt="" coords="487,259,709,285"/><area shape="rect" id="node13" href="classExiv2_1_1XmpTextValue.html" title="Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed int..." alt="" coords="492,309,704,336"/></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-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a0f62e585b82c97738858b743e60dff21"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f62e585b82c97738858b743e60dff21"></a>
typedef std::auto_ptr&lt; <a class="el" href="classExiv2_1_1Value.html">Value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a0f62e585b82c97738858b743e60dff21">AutoPtr</a></td></tr>
<tr class="memdesc:a0f62e585b82c97738858b743e60dff21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shortcut for a Value auto pointer. <br /></td></tr>
<tr class="separator:a0f62e585b82c97738858b743e60dff21"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:ab475b1680c6fa36a092c4584f70a8027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab475b1680c6fa36a092c4584f70a8027"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#ab475b1680c6fa36a092c4584f70a8027">Value</a> (<a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">TypeId</a> <a class="el" href="classExiv2_1_1Value.html#a1a56299aad4e614c4f0225d97530c038">typeId</a>)</td></tr>
<tr class="memdesc:ab475b1680c6fa36a092c4584f70a8027"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, taking a type id to initialize the base class with. <br /></td></tr>
<tr class="separator:ab475b1680c6fa36a092c4584f70a8027"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22a8e3314aad989671aedeee1c7ef375"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22a8e3314aad989671aedeee1c7ef375"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a22a8e3314aad989671aedeee1c7ef375">~Value</a> ()</td></tr>
<tr class="memdesc:a22a8e3314aad989671aedeee1c7ef375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:a22a8e3314aad989671aedeee1c7ef375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr class="memitem:acc8870f802ebcdf9d4e081816ad8956e"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#acc8870f802ebcdf9d4e081816ad8956e">read</a> (const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder)=0</td></tr>
<tr class="memdesc:acc8870f802ebcdf9d4e081816ad8956e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the value from a character buffer.  <a href="#acc8870f802ebcdf9d4e081816ad8956e">More...</a><br /></td></tr>
<tr class="separator:acc8870f802ebcdf9d4e081816ad8956e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2864378d7572310aa5f4cf4127365862"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a2864378d7572310aa5f4cf4127365862">read</a> (const std::string &amp;buf)=0</td></tr>
<tr class="memdesc:a2864378d7572310aa5f4cf4127365862"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value from a string buffer. The format of the string corresponds to that of the <a class="el" href="classExiv2_1_1Value.html#a2518f5ba09fc8c00785c57a119892c4c" title="Write the value to an output stream. You do not usually have to use this function; it is used for the...">write()</a> method, i.e., a string obtained through the <a class="el" href="classExiv2_1_1Value.html#a2518f5ba09fc8c00785c57a119892c4c" title="Write the value to an output stream. You do not usually have to use this function; it is used for the...">write()</a> method can be read by this function.  <a href="#a2864378d7572310aa5f4cf4127365862">More...</a><br /></td></tr>
<tr class="separator:a2864378d7572310aa5f4cf4127365862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e8f3c20bf5d09f34371660a6cf50af3"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a6e8f3c20bf5d09f34371660a6cf50af3">setDataArea</a> (const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len)</td></tr>
<tr class="memdesc:a6e8f3c20bf5d09f34371660a6cf50af3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data area, if the value has one by copying (cloning) the buffer pointed to by buf.  <a href="#a6e8f3c20bf5d09f34371660a6cf50af3">More...</a><br /></td></tr>
<tr class="separator:a6e8f3c20bf5d09f34371660a6cf50af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr class="memitem:a1a56299aad4e614c4f0225d97530c038"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a56299aad4e614c4f0225d97530c038"></a>
<a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">TypeId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a1a56299aad4e614c4f0225d97530c038">typeId</a> () const </td></tr>
<tr class="memdesc:a1a56299aad4e614c4f0225d97530c038"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type identifier (Exif data format type). <br /></td></tr>
<tr class="separator:a1a56299aad4e614c4f0225d97530c038"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84db34d85bac0f5e159d67a1e10c7976"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84db34d85bac0f5e159d67a1e10c7976"></a>
<a class="el" href="classExiv2_1_1Value.html#a0f62e585b82c97738858b743e60dff21">AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a84db34d85bac0f5e159d67a1e10c7976">clone</a> () const </td></tr>
<tr class="memdesc:a84db34d85bac0f5e159d67a1e10c7976"><td class="mdescLeft">&#160;</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 class="separator:a84db34d85bac0f5e159d67a1e10c7976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bf4f9c2eda4f7850a390de98668ce15"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a3bf4f9c2eda4f7850a390de98668ce15">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:a3bf4f9c2eda4f7850a390de98668ce15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write value to a data buffer.  <a href="#a3bf4f9c2eda4f7850a390de98668ce15">More...</a><br /></td></tr>
<tr class="separator:a3bf4f9c2eda4f7850a390de98668ce15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae046b0b081c2be1cf160db595c66fe6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae046b0b081c2be1cf160db595c66fe6d"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#ae046b0b081c2be1cf160db595c66fe6d">count</a> () const =0</td></tr>
<tr class="memdesc:ae046b0b081c2be1cf160db595c66fe6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of components of the value. <br /></td></tr>
<tr class="separator:ae046b0b081c2be1cf160db595c66fe6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2929f67840fb0565b868993b140ed0ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2929f67840fb0565b868993b140ed0ff"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a2929f67840fb0565b868993b140ed0ff">size</a> () const =0</td></tr>
<tr class="memdesc:a2929f67840fb0565b868993b140ed0ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size of the value in bytes. <br /></td></tr>
<tr class="separator:a2929f67840fb0565b868993b140ed0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2518f5ba09fc8c00785c57a119892c4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2518f5ba09fc8c00785c57a119892c4c"></a>
virtual std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a2518f5ba09fc8c00785c57a119892c4c">write</a> (std::ostream &amp;os) const =0</td></tr>
<tr class="memdesc:a2518f5ba09fc8c00785c57a119892c4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the value to an output stream. You do not usually have to use this function; it is used for the implementation of the output operator for Value, <a class="el" href="namespaceExiv2.html#abe882054db13fc2f4f6f7e8e1261d982" title="Output operator for Value types. ">operator&lt;&lt;(std::ostream &amp;os, const Value &amp;value)</a>. <br /></td></tr>
<tr class="separator:a2518f5ba09fc8c00785c57a119892c4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b07106aa570a506f4211c7bfa605fb0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b07106aa570a506f4211c7bfa605fb0"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a0b07106aa570a506f4211c7bfa605fb0">toString</a> () const </td></tr>
<tr class="memdesc:a0b07106aa570a506f4211c7bfa605fb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value as a string. Implemented in terms of <a class="el" href="classExiv2_1_1Value.html#a2518f5ba09fc8c00785c57a119892c4c" title="Write the value to an output stream. You do not usually have to use this function; it is used for the...">write(std::ostream&amp; os) const </a>of the concrete class. <br /></td></tr>
<tr class="separator:a0b07106aa570a506f4211c7bfa605fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a856b1a10a7081540484ce62e8f75e389"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a856b1a10a7081540484ce62e8f75e389"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a856b1a10a7081540484ce62e8f75e389">toString</a> (long n) const </td></tr>
<tr class="memdesc:a856b1a10a7081540484ce62e8f75e389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <em>n</em>-th component of the value as a string. The default implementation returns <a class="el" href="classExiv2_1_1Value.html#a0b07106aa570a506f4211c7bfa605fb0" title="Return the value as a string. Implemented in terms of write(std::ostream& os) const of the concrete c...">toString()</a>. The behaviour of this method may be undefined if there is no <em>n</em>-th component. <br /></td></tr>
<tr class="separator:a856b1a10a7081540484ce62e8f75e389"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4530a3fc3e2305cf994de5476f46f953"><td class="memItemLeft" align="right" valign="top">virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a4530a3fc3e2305cf994de5476f46f953">toLong</a> (long n=0) const =0</td></tr>
<tr class="memdesc:a4530a3fc3e2305cf994de5476f46f953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the <em>n</em>-th component of the value to a long. The behaviour of this method may be undefined if there is no <em>n</em>-th component.  <a href="#a4530a3fc3e2305cf994de5476f46f953">More...</a><br /></td></tr>
<tr class="separator:a4530a3fc3e2305cf994de5476f46f953"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22d257caa6c1ffe6416ce02de7bd8c1c"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a22d257caa6c1ffe6416ce02de7bd8c1c">toFloat</a> (long n=0) const =0</td></tr>
<tr class="memdesc:a22d257caa6c1ffe6416ce02de7bd8c1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the <em>n</em>-th component of the value to a float. The behaviour of this method may be undefined if there is no <em>n</em>-th component.  <a href="#a22d257caa6c1ffe6416ce02de7bd8c1c">More...</a><br /></td></tr>
<tr class="separator:a22d257caa6c1ffe6416ce02de7bd8c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a595a4cb549bec8c19d290ca3e95a2678"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceExiv2.html#a95756f3f7fa19103f83addf5fa088a30">Rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a595a4cb549bec8c19d290ca3e95a2678">toRational</a> (long n=0) const =0</td></tr>
<tr class="memdesc:a595a4cb549bec8c19d290ca3e95a2678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the <em>n</em>-th component of the value to a Rational. The behaviour of this method may be undefined if there is no <em>n</em>-th component.  <a href="#a595a4cb549bec8c19d290ca3e95a2678">More...</a><br /></td></tr>
<tr class="separator:a595a4cb549bec8c19d290ca3e95a2678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0105d81baf07d531cc6de2d2bb4a7bea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0105d81baf07d531cc6de2d2bb4a7bea"></a>
virtual long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a0105d81baf07d531cc6de2d2bb4a7bea">sizeDataArea</a> () const </td></tr>
<tr class="memdesc:a0105d81baf07d531cc6de2d2bb4a7bea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size of the data area, 0 if there is none. <br /></td></tr>
<tr class="separator:a0105d81baf07d531cc6de2d2bb4a7bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d96b057ecc6e9f09e2c65b46a0688e0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a9d96b057ecc6e9f09e2c65b46a0688e0">dataArea</a> () const </td></tr>
<tr class="memdesc:a9d96b057ecc6e9f09e2c65b46a0688e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a copy of the data area if the value has one. The caller owns this copy and <a class="el" href="classExiv2_1_1DataBuf.html" title="Utility class containing a character array. All it does is to take care of memory allocation and dele...">DataBuf</a> ensures that it will be deleted.  <a href="#a9d96b057ecc6e9f09e2c65b46a0688e0">More...</a><br /></td></tr>
<tr class="separator:a9d96b057ecc6e9f09e2c65b46a0688e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a161550b3ef31b3a14b1d75149ba9ba71"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a161550b3ef31b3a14b1d75149ba9ba71"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a161550b3ef31b3a14b1d75149ba9ba71">ok</a> () const </td></tr>
<tr class="memdesc:a161550b3ef31b3a14b1d75149ba9ba71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the <em>ok</em> status indicator. After a to&lt;Type&gt; conversion, this indicator shows whether the conversion was successful. <br /></td></tr>
<tr class="separator:a161550b3ef31b3a14b1d75149ba9ba71"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7a6c027316e3dec0f7e79430f104c137"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classExiv2_1_1Value.html#a0f62e585b82c97738858b743e60dff21">AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a7a6c027316e3dec0f7e79430f104c137">create</a> (<a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">TypeId</a> <a class="el" href="classExiv2_1_1Value.html#a1a56299aad4e614c4f0225d97530c038">typeId</a>)</td></tr>
<tr class="memdesc:a7a6c027316e3dec0f7e79430f104c137"><td class="mdescLeft">&#160;</td><td class="mdescRight">A (simple) factory to create a <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata. ">Value</a> type.  <a href="#a7a6c027316e3dec0f7e79430f104c137">More...</a><br /></td></tr>
<tr class="separator:a7a6c027316e3dec0f7e79430f104c137"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa2a9041cbd30d86260820b818cdf232e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2a9041cbd30d86260820b818cdf232e"></a>
<a class="el" href="classExiv2_1_1Value.html">Value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#aa2a9041cbd30d86260820b818cdf232e">operator=</a> (const <a class="el" href="classExiv2_1_1Value.html">Value</a> &amp;rhs)</td></tr>
<tr class="memdesc:aa2a9041cbd30d86260820b818cdf232e"><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:aa2a9041cbd30d86260820b818cdf232e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a4dc3a689b4bc1819290525cac491c1a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4dc3a689b4bc1819290525cac491c1a8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Value.html#a4dc3a689b4bc1819290525cac491c1a8">ok_</a></td></tr>
<tr class="memdesc:a4dc3a689b4bc1819290525cac491c1a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates the status of the previous to&lt;Type&gt; conversion. <br /></td></tr>
<tr class="separator:a4dc3a689b4bc1819290525cac491c1a8"><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>Common interface for all types of values used with metadata. </p>
<p>The interface provides a uniform way to access values independent of their actual C++ type for simple tasks like reading the values from a string or data buffer. For other tasks, like modifying values you may need to downcast it to a specific subclass to access its interface. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xmpsample_8cpp-example.html#_a3">xmpsample.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3bf4f9c2eda4f7850a390de98668ce15"></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::Value::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. </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 bytes written. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1ValueType.html#a106239c4587a27ce53b6a59b63d7b348">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1TimeValue.html#a198a39cf744c504de9b3d215988bab9d">Exiv2::TimeValue</a>, <a class="el" href="classExiv2_1_1DateValue.html#ab058c2ba2c53659564a8adfa3a751cd1">Exiv2::DateValue</a>, <a class="el" href="classExiv2_1_1XmpValue.html#a1417a259ba1ae7f2285ca0131a7d3438">Exiv2::XmpValue</a>, <a class="el" href="classExiv2_1_1CommentValue.html#a1318730b8a15f2f043b1d99390092181">Exiv2::CommentValue</a>, <a class="el" href="classExiv2_1_1StringValueBase.html#a68503471612daaf314f4b70e2216ef3b">Exiv2::StringValueBase</a>, and <a class="el" href="classExiv2_1_1DataValue.html#ad96c8ded5036c82f33d9eb214ed12587">Exiv2::DataValue</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html#a9ab324d27420e834e30009f0a45b4fab">Exiv2::Internal::TiffEntryBase::doWrite()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffBinaryElement.html#aa4cadcdd7f93fccd93d54df6b003cc17">Exiv2::Internal::TiffBinaryElement::doWrite()</a>, and <a class="el" href="namespaceExiv2_1_1Internal.html#a0a2a3db205807282b11a0b735737ca4d">Exiv2::Internal::printUcs2()</a>.</p>

</div>
</div>
<a class="anchor" id="a7a6c027316e3dec0f7e79430f104c137"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Value.html#a0f62e585b82c97738858b743e60dff21">Value::AutoPtr</a> Exiv2::Value::create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">TypeId</a>&#160;</td>
          <td class="paramname"><em>typeId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A (simple) factory to create a <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata. ">Value</a> type. </p>
<p>The following <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata. ">Value</a> subclasses are created depending on typeId:<br />
<br />
 </p><table class="doxtable">
<tr>
<td class="indexkey"><b>typeId</b></td><td class="indexvalue"><b>Value subclass</b> </td></tr>
<tr>
<td class="indexkey">invalidTypeId</td><td class="indexvalue">DataValue(invalidTypeId) </td></tr>
<tr>
<td class="indexkey">unsignedByte</td><td class="indexvalue">DataValue(unsignedByte) </td></tr>
<tr>
<td class="indexkey">asciiString</td><td class="indexvalue">AsciiValue </td></tr>
<tr>
<td class="indexkey">string</td><td class="indexvalue">StringValue </td></tr>
<tr>
<td class="indexkey">unsignedShort</td><td class="indexvalue">ValueType &lt; uint16_t &gt; </td></tr>
<tr>
<td class="indexkey">unsignedLong</td><td class="indexvalue">ValueType &lt; uint32_t &gt; </td></tr>
<tr>
<td class="indexkey">unsignedRational</td><td class="indexvalue">ValueType &lt; URational &gt; </td></tr>
<tr>
<td class="indexkey">invalid6</td><td class="indexvalue">DataValue(invalid6) </td></tr>
<tr>
<td class="indexkey">undefined</td><td class="indexvalue">DataValue </td></tr>
<tr>
<td class="indexkey">signedShort</td><td class="indexvalue">ValueType &lt; int16_t &gt; </td></tr>
<tr>
<td class="indexkey">signedLong</td><td class="indexvalue">ValueType &lt; int32_t &gt; </td></tr>
<tr>
<td class="indexkey">signedRational</td><td class="indexvalue">ValueType &lt; Rational &gt; </td></tr>
<tr>
<td class="indexkey">tiffFloat</td><td class="indexvalue">ValueType &lt; float &gt; </td></tr>
<tr>
<td class="indexkey">tiffDouble</td><td class="indexvalue">ValueType &lt; double &gt; </td></tr>
<tr>
<td class="indexkey">tiffIfd</td><td class="indexvalue">ValueType &lt; uint32_t &gt; </td></tr>
<tr>
<td class="indexkey">date</td><td class="indexvalue">DateValue </td></tr>
<tr>
<td class="indexkey">time</td><td class="indexvalue">TimeValue </td></tr>
<tr>
<td class="indexkey">comment</td><td class="indexvalue">CommentValue </td></tr>
<tr>
<td class="indexkey">xmpText</td><td class="indexvalue">XmpTextValue </td></tr>
<tr>
<td class="indexkey">xmpBag</td><td class="indexvalue">XmpArrayValue </td></tr>
<tr>
<td class="indexkey">xmpSeq</td><td class="indexvalue">XmpArrayValue </td></tr>
<tr>
<td class="indexkey">xmpAlt</td><td class="indexvalue">XmpArrayValue </td></tr>
<tr>
<td class="indexkey">langAlt</td><td class="indexvalue">LangAltValue </td></tr>
<tr>
<td class="indexkey"><em>default:</em></td><td class="indexvalue">DataValue(typeId) </td></tr>
</table>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">typeId</td><td>Type of the value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Auto-pointer to the newly created <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata. ">Value</a>. The caller owns this copy and the auto-pointer ensures that it will be deleted. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="addmoddel_8cpp-example.html#a3">addmoddel.cpp</a>, and <a class="el" href="xmpsample_8cpp-example.html#a13">xmpsample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca773cf6dde5caaabb3dcf9fb161fa7dfd">Exiv2::asciiString</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca98944819f3c9921109af5f0a39fcfa34">Exiv2::comment</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca0c347d8ddbbad9440f9bb6db8a06fa45">Exiv2::date</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cafc75de7290b703a810102c8a003fc25e">Exiv2::invalidTypeId</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca52dce1d022dd8927bc651d2e51dc1bcd">Exiv2::langAlt</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca717f7d50dd484167359361d2c560f83c">Exiv2::signedByte</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca501fdf1b61472bff3b4da19b956eabda">Exiv2::signedLong</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca0d777a3a2542fbff07ed29563167b3b5">Exiv2::signedRational</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca4a46f8aa5e64d33468602515f6255b65">Exiv2::signedShort</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca9b4d2fa208df5c86d24f7d7c41bd09a2">Exiv2::tiffDouble</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cabcc0eb22efc41f32ba573c18731b4928">Exiv2::tiffFloat</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cae9896f64a72a68e176f02c1880b19681">Exiv2::tiffIfd</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca8526caf002a100bd730312d45808f1b6">Exiv2::time</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450caa044ece6f004f519dce91f57319bb6eb">Exiv2::undefined</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca6abd8e6e48dddae9bac03019ae907795">Exiv2::unsignedByte</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca3b506c0729276e4de3a0ab4d9b2226bd">Exiv2::unsignedLong</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cae450f64413c928b527cfdd73129d6606">Exiv2::unsignedRational</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca0329efdda8becff3ecf89bfbc816f72c">Exiv2::unsignedShort</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca627dda12626324231bb87883d8efc5df">Exiv2::xmpAlt</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450caa5e7700549d4b079db70605d945447af">Exiv2::xmpBag</a>, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca969c20e44455272599e3a273471546e8">Exiv2::xmpSeq</a>, and <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca77cea60f60ef2c6f0f986137c5404c02">Exiv2::xmpText</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1CiffComponent.html#af17cf974ed679b7c0b9881d37a522600">Exiv2::Internal::CiffComponent::doPrint()</a>, <a class="el" href="classExiv2_1_1AsfVideo.html#a0123d3a87ca087363335f6f11951b98d">Exiv2::AsfVideo::metadataHandler()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffReader.html#a69624656368e5905c64e70b6d46b278d">Exiv2::Internal::TiffReader::readTiffEntry()</a>, <a class="el" href="classExiv2_1_1Iptcdatum.html#ae588d1dbbd038445e69015f66e277a66">Exiv2::Iptcdatum::setValue()</a>, <a class="el" href="classExiv2_1_1Xmpdatum.html#af8a422ab0e7e02f5526860e201e89e80">Exiv2::Xmpdatum::setValue()</a>, <a class="el" href="classExiv2_1_1Exifdatum.html#a0fc1f52444c8d7026265f6b327197c47">Exiv2::Exifdatum::setValue()</a>, <a class="el" href="classExiv2_1_1AsfVideo.html#ace31fbced60cec67b999863b8d8cc658">Exiv2::AsfVideo::tagDecoder()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffReader.html#a5471377e19ef85bfddc218ae8569bad8">Exiv2::Internal::TiffReader::visitBinaryElement()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d96b057ecc6e9f09e2c65b46a0688e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a> Exiv2::Value::dataArea </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return a copy of the data area if the value has one. The caller owns this copy and <a class="el" href="classExiv2_1_1DataBuf.html" title="Utility class containing a character array. All it does is to take care of memory allocation and dele...">DataBuf</a> ensures that it will be deleted. </p>
<p>Values may have a data area, which can contain additional information besides the actual value. This method is used to access such a data area.</p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classExiv2_1_1DataBuf.html" title="Utility class containing a character array. All it does is to take care of memory allocation and dele...">DataBuf</a> containing a copy of the data area or an empty <a class="el" href="classExiv2_1_1DataBuf.html" title="Utility class containing a character array. All it does is to take care of memory allocation and dele...">DataBuf</a> if the value does not have a data area assigned. </dd></dl>

<p>Reimplemented in <a class="el" href="classExiv2_1_1ValueType.html#ab30d2836320975c3ad60312bf0a5133d">Exiv2::ValueType&lt; T &gt;</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#a476bfad6efb4f99adc7c575142e79f03">Exiv2::Internal::TiffDataEntry::doWriteData()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#a0fcd09972923cbc46be53a6cf646d43c">Exiv2::Internal::TiffImageEntry::doWriteImage()</a>.</p>

</div>
</div>
<a class="anchor" id="acc8870f802ebcdf9d4e081816ad8956e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Exiv2::Value::read </td>
          <td>(</td>
          <td class="paramtype">const <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">long&#160;</td>
          <td class="paramname"><em>len</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></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>Read the value from a character buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>Pointer to the data buffer to read from </td></tr>
    <tr><td class="paramname">len</td><td>Number of bytes in the data buffer </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>0 if successful. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1ValueType.html#a725c88fdf395b0dba55c13794b458b69">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1TimeValue.html#a083325ce2c9ff4a693ccc586c5785f5e">Exiv2::TimeValue</a>, <a class="el" href="classExiv2_1_1DateValue.html#acb8fa5f6fcd5383b5fddce094a251961">Exiv2::DateValue</a>, <a class="el" href="classExiv2_1_1XmpValue.html#a411b3b510f1b9ca49f1784ea9535d185">Exiv2::XmpValue</a>, <a class="el" href="classExiv2_1_1CommentValue.html#a4210d47fa2e7e8a24d8ad89328996e3b">Exiv2::CommentValue</a>, <a class="el" href="classExiv2_1_1StringValueBase.html#ab43f48f366770175d7a07ad229ebbd2d">Exiv2::StringValueBase</a>, and <a class="el" href="classExiv2_1_1DataValue.html#a927fef988688e4b33d4fcaffb51679dc">Exiv2::DataValue</a>.</p>

</div>
</div>
<a class="anchor" id="a2864378d7572310aa5f4cf4127365862"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Exiv2::Value::read </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>buf</em></td><td>)</td>
          <td></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>Set the value from a string buffer. The format of the string corresponds to that of the <a class="el" href="classExiv2_1_1Value.html#a2518f5ba09fc8c00785c57a119892c4c" title="Write the value to an output stream. You do not usually have to use this function; it is used for the...">write()</a> method, i.e., a string obtained through the <a class="el" href="classExiv2_1_1Value.html#a2518f5ba09fc8c00785c57a119892c4c" title="Write the value to an output stream. You do not usually have to use this function; it is used for the...">write()</a> method can be read by this function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>The string to read from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1ValueType.html#af66d05b6e6cf774f58f5110b5976a329">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1TimeValue.html#a8160552dd6b05d970151b2622aa09459">Exiv2::TimeValue</a>, <a class="el" href="classExiv2_1_1DateValue.html#a6eba2be86bf4744bc947b0909aa0c6f2">Exiv2::DateValue</a>, <a class="el" href="classExiv2_1_1LangAltValue.html#af666af4cc5c56d520afca81e62676904">Exiv2::LangAltValue</a>, <a class="el" href="classExiv2_1_1XmpArrayValue.html#a17608cac7377fffdc25cbf4fdb4e5eed">Exiv2::XmpArrayValue</a>, <a class="el" href="classExiv2_1_1XmpTextValue.html#abddc014ee1b2dee79d219b362c26b2bb">Exiv2::XmpTextValue</a>, <a class="el" href="classExiv2_1_1XmpValue.html#a7c357e0bee86bd3c6eee197711472821">Exiv2::XmpValue</a>, <a class="el" href="classExiv2_1_1CommentValue.html#a0dc1a2489912d18b05ba25881ed172c3">Exiv2::CommentValue</a>, <a class="el" href="classExiv2_1_1AsciiValue.html#a8dba62825094109881aa7dc37492a2a3">Exiv2::AsciiValue</a>, <a class="el" href="classExiv2_1_1StringValueBase.html#a7e1a2e4e99a63eb1ef815317f012c57b">Exiv2::StringValueBase</a>, and <a class="el" href="classExiv2_1_1DataValue.html#afb8d9321e3b80c239b3a8df9b1ca4083">Exiv2::DataValue</a>.</p>

</div>
</div>
<a class="anchor" id="a6e8f3c20bf5d09f34371660a6cf50af3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Exiv2::Value::setDataArea </td>
          <td>(</td>
          <td class="paramtype">const <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">long&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the data area, if the value has one by copying (cloning) the buffer pointed to by buf. </p>
<p>Values may have a data area, which can contain additional information besides the actual value. This method is used to set such a data area.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>Pointer to the source data area </td></tr>
    <tr><td class="paramname">len</td><td>Size of the data area </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return -1 if the value has no data area, else 0. </dd></dl>

<p>Reimplemented in <a class="el" href="classExiv2_1_1ValueType.html#a360e7872cfcb434d60bdc09dd243958e">Exiv2::ValueType&lt; T &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a22d257caa6c1ffe6416ce02de7bd8c1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float Exiv2::Value::toFloat </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code></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>Convert the <em>n</em>-th component of the value to a float. The behaviour of this method may be undefined if there is no <em>n</em>-th component. </p>
<dl class="section return"><dt>Returns</dt><dd>The converted value. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1ValueType.html#a23f797186d8e93284a90bb9a9b215b1f">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#add531529e862d86deca7eea4c76f5c4d">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#a550fc71135aa8491fa7a90f0f682c94d">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1TimeValue.html#ac3143b2e165f6e8200b444836055f78d">Exiv2::TimeValue</a>, <a class="el" href="classExiv2_1_1DateValue.html#a870154948d26bb25025d3212bceb4b4c">Exiv2::DateValue</a>, <a class="el" href="classExiv2_1_1LangAltValue.html#a28e85381507d52c02a8fe318106460d9">Exiv2::LangAltValue</a>, <a class="el" href="classExiv2_1_1XmpArrayValue.html#a6ea92652ac312c5fecdb57217176ac3a">Exiv2::XmpArrayValue</a>, <a class="el" href="classExiv2_1_1XmpTextValue.html#a6c2a64ebd906041827b005a6dca1f5ce">Exiv2::XmpTextValue</a>, <a class="el" href="classExiv2_1_1StringValueBase.html#ab414d7d6cfdf5bfa7b00884f6d7a20f5">Exiv2::StringValueBase</a>, and <a class="el" href="classExiv2_1_1DataValue.html#ac9d9928ebae3d72b43421818a9ebfc3d">Exiv2::DataValue</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xmpsample_8cpp-example.html#a4">xmpsample.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="namespaceExiv2_1_1Internal.html#a9e8b717cdf9654528cbf302766568edf">Exiv2::Internal::print0x0006()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#af93755b9a64d16971d1361145b5d22a3">Exiv2::Internal::print0x0007()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#adff8e6ac89731e4c497afe7c7f6a173b">Exiv2::Internal::Nikon3MakerNote::print0x008b()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a76c76801ca20c73a7519e3ef896d3f94">Exiv2::Internal::Nikon3MakerNote::print0x009a()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a23372979ed42fc25dc21fc61f1218de9">Exiv2::Internal::OlympusMakerNote::print0x0204()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a13d42c7c19808774dcc797e07948b8ef">Exiv2::Internal::print0x9202()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a67fdbeec45f0dd13eb85357e4684607f">Exiv2::Internal::printCameraTemperature()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#ae8f03d224336c64601c8726d1d14633c">Exiv2::Internal::CanonMakerNote::printCsLens()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a78f4f8d5b1ee4953e838ba73050857a0">Exiv2::Internal::CanonMakerNote::printFocalLength()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a7f32fc9a16c34eb9c74da36778d88056">Exiv2::Internal::printMinoltaSonyFlashExposureComp()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#ab1e76948d6104466301a11b25dc85ea7">Exiv2::Internal::Nikon3MakerNote::printTimeZone()</a>.</p>

</div>
</div>
<a class="anchor" id="a4530a3fc3e2305cf994de5476f46f953"></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::Value::toLong </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code></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>Convert the <em>n</em>-th component of the value to a long. The behaviour of this method may be undefined if there is no <em>n</em>-th component. </p>
<dl class="section return"><dt>Returns</dt><dd>The converted value. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1ValueType.html#a1d7083471cf9e61c9c27785f2a70721d">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#a647fe7bad8b9fd92d29f6d6ad16f28a0">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#a3dea33fa6bb1b9d3bdd1d0a05f0abad0">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1TimeValue.html#a49250d1f63c75c40b89f1e06860b1ffc">Exiv2::TimeValue</a>, <a class="el" href="classExiv2_1_1DateValue.html#a80ca3538d96fa26f9f196e9db9ff0c43">Exiv2::DateValue</a>, <a class="el" href="classExiv2_1_1LangAltValue.html#a8acb0c87ff7416c6b30c782c14ed2471">Exiv2::LangAltValue</a>, <a class="el" href="classExiv2_1_1XmpArrayValue.html#a41a3387f5c5697df4033fefbef8b8b1e">Exiv2::XmpArrayValue</a>, <a class="el" href="classExiv2_1_1XmpTextValue.html#ab84a3e6f634f39deab22f182880fdcdd">Exiv2::XmpTextValue</a>, <a class="el" href="classExiv2_1_1StringValueBase.html#adb3bb38ee2d2d5e51539317c44b5492e">Exiv2::StringValueBase</a>, and <a class="el" href="classExiv2_1_1DataValue.html#a0bea375d6f15bf5866af59e2efb2db8f">Exiv2::DataValue</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xmpsample_8cpp-example.html#a7">xmpsample.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#a1f7b93956d2285cbf9181d1fb47f06fa">Exiv2::Internal::TiffDataEntry::doWrite()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a793f2472ec54d909cd6032d01fd21dae">Exiv2::Internal::nikonCrypt()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a85af83520247babc349336ef2585ebe7">Exiv2::Internal::print0x0000()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon1MakerNote.html#a195f975baf2b352400b160cdedbf734f">Exiv2::Internal::Nikon1MakerNote::print0x0002()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a678b7365718ccaba211578ece0b2a11c">Exiv2::Internal::Nikon3MakerNote::print0x0002()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PanasonicMakerNote.html#a97970b8c766528396736b2d66c78590a">Exiv2::Internal::PanasonicMakerNote::print0x000f()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PanasonicMakerNote.html#a0b24bfa8dfff107bc48a4556d40f8055">Exiv2::Internal::PanasonicMakerNote::print0x0023()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a3c52cbbef312bca26edb767348a50471">Exiv2::Internal::Nikon3MakerNote::print0x0083()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a66e4079e034b50c2913f7a8698f72597">Exiv2::Internal::Nikon3MakerNote::print0x0084()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon1MakerNote.html#a3a3a59ad0ba1292fac0e6c68dacf9f9a">Exiv2::Internal::Nikon1MakerNote::print0x0088()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#aca54465a5a83c506ff164e2db10be0ee">Exiv2::Internal::Nikon3MakerNote::print0x0088()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a8eee7952b0c7465cbb5e00aef60a28ef">Exiv2::Internal::Nikon3MakerNote::print0x0089()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#adff8e6ac89731e4c497afe7c7f6a173b">Exiv2::Internal::Nikon3MakerNote::print0x008b()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a6346ff8bb13bdb6081c653b203029d16">Exiv2::Internal::Nikon3MakerNote::print0x009e()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#aa2da0dadba4f887cb4eb8a53f304e8cd">Exiv2::Internal::OlympusMakerNote::print0x0200()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a0ea897be304a83295dded2bb8573d0a8">Exiv2::Internal::OlympusMakerNote::print0x0201()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a4ff35aee60f19a4b72c9257842491bd8">Exiv2::Internal::OlympusMakerNote::print0x0209()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#abed43cff874a6dba0c53ddb8cc80eb9b">Exiv2::Internal::OlympusMakerNote::print0x0308()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#af62d1c2ac76d5ada5fbef808be9d3232">Exiv2::Internal::OlympusMakerNote::print0x050f()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a97bec9dbe4fe9966c2f20fda22d72da3">Exiv2::Internal::OlympusMakerNote::print0x0527()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a0b6fa2f10f9741e6a0966c2e525741ad">Exiv2::Internal::OlympusMakerNote::print0x0529()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#aa282c4d7a1575f6a909557fc381463fb">Exiv2::Internal::OlympusMakerNote::print0x1015()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a67f520b41dd3ab0518675bd1fe79cf13">Exiv2::Internal::OlympusMakerNote::print0x1209()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a1a671418b32e2d6c6a17f13f8572dc4d">Exiv2::Internal::print0x8827()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a832a7340403cbc1edb10ed7e28281784">Exiv2::Internal::print0x9101()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a02abdb4141bfb8f1081d82b965ad7df9">Exiv2::Internal::print0xa405()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#add8045dc230d099fab9638918f7a4528">Exiv2::Internal::Nikon3MakerNote::printAfPointsInFocus()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a4013268e57e829c97f252a6cc59ee057">Exiv2::Internal::Nikon3MakerNote::printAperture()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a2d2801b3721349edfac2256fc972ae27">Exiv2::Internal::printCombiTag()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a6ecab56136c0e3e8a0ed5aa543dcb94c">Exiv2::Internal::CanonMakerNote::printCs0x0002()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#ae0393cbb429bfd5f0c856c461c1d9418">Exiv2::Internal::OlympusMakerNote::printCs0x0301()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#ae8f03d224336c64601c8726d1d14633c">Exiv2::Internal::CanonMakerNote::printCsLens()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a44720406696b4212b31d6e5550e4f2ca">Exiv2::Internal::printCsLensByFocalLengthAndMaxAperture()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#abe617b7dc5018aa2aecdcfd7aec32035">Exiv2::Internal::CanonMakerNote::printCsLensType()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a883d1a483beb4c970aa48a25404c72ca">Exiv2::Internal::OlympusMakerNote::printEq0x0301()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a63d73c7d07334a6cd9ed8ad196e6c3f1">Exiv2::Internal::printExifVersion()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a06651763a24989a69bf08be76a300f83">Exiv2::Internal::Nikon3MakerNote::printExitPupilPosition()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a855339d00000363505b605bb04968c71">Exiv2::Internal::CanonMakerNote::printFiFileNumber()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a373e2dc383e668f927e1a72d98f30fed">Exiv2::Internal::Nikon3MakerNote::printFlashFocalLength()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a28b4d8a290ea765ddb38ad3ef2bed7c5">Exiv2::Internal::Nikon3MakerNote::printFocal()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#acbda9f0e064153ea573edeaf2579b656">Exiv2::Internal::printFocalLength35()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a7c7c696ac16b59c04eca0ca8f68a91a5">Exiv2::Internal::Nikon3MakerNote::printFocusDistance()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a6ca20ae91a8d52a6909ca247c4c5cdf6">Exiv2::Internal::Nikon3MakerNote::printFStops()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#ae3d52ed17c72fef2fa98be45a017fa62">Exiv2::Internal::Nikon3MakerNote::printIiIso()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a10b86dbdb66356612079014d073b4818">Exiv2::Internal::MinoltaMakerNote::printMinoltaBrightnessStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a624395073c43c5b772ff7c7c96ad6ad1">Exiv2::Internal::MinoltaMakerNote::printMinoltaDateStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#ac22380bb27463ea5dd7d4cabfe097abc">Exiv2::Internal::MinoltaMakerNote::printMinoltaExposureCompensation5D()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#aa06a034258cc950cc200c4f6d041de30">Exiv2::Internal::MinoltaMakerNote::printMinoltaExposureCompensationStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a8fd4d9653b24e90d4019eed36b583fd1">Exiv2::Internal::MinoltaMakerNote::printMinoltaExposureManualBias5D()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a0ad754361cd6487c9ff10fa710f6d42f">Exiv2::Internal::MinoltaMakerNote::printMinoltaExposureSpeedStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#ad6377a02aa1a7969f67e85ee8657f209">Exiv2::Internal::MinoltaMakerNote::printMinoltaExposureTimeStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a15e27e24d426ebf5f7f982b8dd267eb9">Exiv2::Internal::MinoltaMakerNote::printMinoltaFlashExposureCompStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a5c40e016520dbc7275a586a771760363">Exiv2::Internal::MinoltaMakerNote::printMinoltaFNumberStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a2080a93d1efc4f1daa820be1a47af890">Exiv2::Internal::MinoltaMakerNote::printMinoltaFocalLengthStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#a437692d41909f931b57f65fb5bf1df3c">Exiv2::Internal::MinoltaMakerNote::printMinoltaTimeStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1MinoltaMakerNote.html#aeed85acc372fee0e0fae768baa3dc221">Exiv2::Internal::MinoltaMakerNote::printMinoltaWhiteBalanceStd()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#af0201a8ea7e8559692e1b9973afead6e">Exiv2::Internal::PentaxMakerNote::printPentaxBracketing()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a2fba6bc546e938e46d73fcf2e8892976">Exiv2::Internal::PentaxMakerNote::printPentaxCompensation()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a70fb74ccb7f4ed25289d319435289d5d">Exiv2::Internal::PentaxMakerNote::printPentaxDate()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a10bff60313808f2d6f9dd3e463f77641">Exiv2::Internal::PentaxMakerNote::printPentaxExposure()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a2e624000fde5f7f1de7970690f9f6923">Exiv2::Internal::PentaxMakerNote::printPentaxFlashCompensation()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a4ac32a29e0e81c4232694680c8ce2884">Exiv2::Internal::PentaxMakerNote::printPentaxFocalLength()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a988b7f64c844d90dc7d0c06fda0a1c16">Exiv2::Internal::PentaxMakerNote::printPentaxFValue()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#ab4930b0ac38c8c70e0c37f0bd6a62579">Exiv2::Internal::PentaxMakerNote::printPentaxTemperature()</a>, <a class="el" href="classExiv2_1_1Internal_1_1PentaxMakerNote.html#a4f20ecbd4791254893b4f316d4132551">Exiv2::Internal::PentaxMakerNote::printPentaxTime()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a1f90c75d6d4e0401db4be6b041424a7b">Exiv2::Internal::Nikon3MakerNote::printPictureControl()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a24ace53a0abec80f08a225c2bd9d8d40">Exiv2::Internal::Nikon3MakerNote::printRepeatingFlashCount()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a25a5839ced045d3d102285299129682d">Exiv2::Internal::Nikon3MakerNote::printRepeatingFlashRate()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a30e8a90b067bab29f9dd5ba1e6ad9c60">Exiv2::Internal::CanonMakerNote::printSi0x0002()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#aff5e4204e14e1dcddc7b29be0fafd586">Exiv2::Internal::CanonMakerNote::printSi0x0003()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a19f6ba09113640bb8be3e0ae150c5ea6">Exiv2::Internal::CanonMakerNote::printSi0x0009()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#aecca49287a3093be70764ebe5f8a28ea">Exiv2::Internal::CanonMakerNote::printSi0x000e()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#ad561a40517cbfc6ebd4bbe34177e2e66">Exiv2::Internal::CanonMakerNote::printSi0x0013()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a3eec32eca5659bce32d1547fbe30957c">Exiv2::Internal::CanonMakerNote::printSi0x0015()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#abed475fc6211d1b9aedcc925902cbe82">Exiv2::Internal::CanonMakerNote::printSi0x0016()</a>, <a class="el" href="classExiv2_1_1Internal_1_1CanonMakerNote.html#a26e4af4cb3ca6399f19b5b2a9988b8ba">Exiv2::Internal::CanonMakerNote::printSi0x0017()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#aeeed3e68dbb466e97978cb74f0b34e3e">Exiv2::Internal::printTag()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a88a9c00bf994e28c5a802f70f5654ec7">Exiv2::Internal::printTagBitmask()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#ab1e76948d6104466301a11b25dc85ea7">Exiv2::Internal::Nikon3MakerNote::printTimeZone()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#ad04151bdc12b9027e7edc3fe65517e9a">Exiv2::Internal::printValueMinus4()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntry.html#a09fa8cfd81902122b44a43e757dc1ed3">Exiv2::Internal::TiffDataEntry::setStrips()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#a5289138e7d56331e7a3f10ac0f6d8626">Exiv2::Internal::TiffImageEntry::setStrips()</a>.</p>

</div>
</div>
<a class="anchor" id="a595a4cb549bec8c19d290ca3e95a2678"></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="namespaceExiv2.html#a95756f3f7fa19103f83addf5fa088a30">Rational</a> Exiv2::Value::toRational </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>n</em> = <code>0</code></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>Convert the <em>n</em>-th component of the value to a Rational. The behaviour of this method may be undefined if there is no <em>n</em>-th component. </p>
<dl class="section return"><dt>Returns</dt><dd>The converted value. </dd></dl>

<p>Implemented in <a class="el" href="classExiv2_1_1ValueType.html#af1da49c1d89dcc35f2dd74a0c73e5e0d">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#aed8ff3edec29000ce609e1f756ff7742">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#a81719ee8a0892aae5765d66d00b77dfc">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#a517dba8c00607833f4e06194603c73c6">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1ValueType.html#a20632832dbb186f6ad287456c1b6b92b">Exiv2::ValueType&lt; T &gt;</a>, <a class="el" href="classExiv2_1_1TimeValue.html#a955966f12668e41c3445119fc8cb3b4e">Exiv2::TimeValue</a>, <a class="el" href="classExiv2_1_1DateValue.html#a07f499e6f90425513b1bee5b5098ab99">Exiv2::DateValue</a>, <a class="el" href="classExiv2_1_1LangAltValue.html#a8adde7e716306b7aa84b03a8c9cdad8c">Exiv2::LangAltValue</a>, <a class="el" href="classExiv2_1_1XmpArrayValue.html#a4f3c3a818f243b039694973a9c2a96c6">Exiv2::XmpArrayValue</a>, <a class="el" href="classExiv2_1_1XmpTextValue.html#ae1b09db38ddece02c314e6562457efd0">Exiv2::XmpTextValue</a>, <a class="el" href="classExiv2_1_1StringValueBase.html#a3899565eca4f0a0b590d2fde6a2c2023">Exiv2::StringValueBase</a>, and <a class="el" href="classExiv2_1_1DataValue.html#add912d022aaee80ecf3ea6565036e946">Exiv2::DataValue</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xmpsample_8cpp-example.html#a6">xmpsample.cpp</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="namespaceExiv2_1_1Internal.html#a9e8b717cdf9654528cbf302766568edf">Exiv2::Internal::print0x0006()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#af93755b9a64d16971d1361145b5d22a3">Exiv2::Internal::print0x0007()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon2MakerNote.html#abe4c37c8b38afda87bec332d7fc11c41">Exiv2::Internal::Nikon2MakerNote::print0x000a()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a66e4079e034b50c2913f7a8698f72597">Exiv2::Internal::Nikon3MakerNote::print0x0084()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon1MakerNote.html#ac31a71f6172238fba5ecbaf086d1e776">Exiv2::Internal::Nikon1MakerNote::print0x0085()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a2c229cade852d167ae902e44af838093">Exiv2::Internal::Nikon3MakerNote::print0x0085()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon1MakerNote.html#a254d47c729464e9cfdac00f9fe6c049a">Exiv2::Internal::Nikon1MakerNote::print0x0086()</a>, <a class="el" href="classExiv2_1_1Internal_1_1Nikon3MakerNote.html#a2fee496bbdf1c8acaaec9d2427013b4e">Exiv2::Internal::Nikon3MakerNote::print0x0086()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#a23372979ed42fc25dc21fc61f1218de9">Exiv2::Internal::OlympusMakerNote::print0x0204()</a>, <a class="el" href="classExiv2_1_1Internal_1_1OlympusMakerNote.html#ad0f3789715de37a329b664957854f7fc">Exiv2::Internal::OlympusMakerNote::print0x0305()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a3a8dff2b93a9178e66b69ace34519acb">Exiv2::Internal::print0x829a()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a3cfcd55a41b3c4c7fc0cfa000d6aede8">Exiv2::Internal::print0x829d()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a587d0088ba36a9821fef0b5f43961f7a">Exiv2::Internal::print0x9201()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a13d42c7c19808774dcc797e07948b8ef">Exiv2::Internal::print0x9202()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#abc26de089a85c0fff7b0f93c0a8c91b6">Exiv2::Internal::print0x9204()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a03b7d5be0ced8186b0485bab3c2ea8e9">Exiv2::Internal::print0x9206()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a740f086758e563dada879bdbd170e68f">Exiv2::Internal::print0x920a()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a899fcd1bb10809d69227ee92aa99757a">Exiv2::Internal::print0xa404()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a1549243d106072fc6f8af62d0a4b37be">Exiv2::Internal::printDegrees()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#aac98c672ae0e3f36eee77824cba2051b">Exiv2::Internal::printFloat()</a>, and <a class="el" href="namespaceExiv2_1_1Internal.html#af0262ce29f58bb6ef73a72334499dbce">Exiv2::Internal::printLong()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="value_8hpp.html">value.hpp</a></li>
<li>value.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Mar 4 2016 17:51:51 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>