<!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: types.hpp File 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 Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><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="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File 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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </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="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">types.hpp File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Type definitions for Exiv2 and related functionality. <a href="#details">More...</a></p> <div class="textblock"><code>#include "exv_conf.h"</code><br /> <code>#include "<a class="el" href="version_8hpp.html">version.hpp</a>"</code><br /> <code>#include <string></code><br /> <code>#include <vector></code><br /> <code>#include <iosfwd></code><br /> <code>#include <utility></code><br /> <code>#include <algorithm></code><br /> <code>#include <sstream></code><br /> <code>#include <stdint.h></code><br /> </div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for types.hpp:</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="types_8hpp__incl.png" border="0" usemap="#types_8hpp" alt=""/></div> <map name="types_8hpp" id="types_8hpp"> <area shape="rect" id="node2" href="version_8hpp.html" title="Precompiler define and a function to test the Exiv2 version. References: Similar versioning defines a..." alt="" coords="5,80,137,107"/></map> </div> </div><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TypeInfo.html">Exiv2::TypeInfo</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Type information lookup functions. Implemented as a static class. <a href="classExiv2_1_1TypeInfo.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structExiv2_1_1DataBufRef.html">Exiv2::DataBufRef</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Auxiliary type to enable copies and assignments, similar to std::auto_ptr_ref. See <a href="http://www.josuttis.com/libbook/auto_ptr.html">http://www.josuttis.com/libbook/auto_ptr.html</a> for a discussion. <a href="structExiv2_1_1DataBufRef.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DataBuf.html">Exiv2::DataBuf</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Utility class containing a character array. All it does is to take care of memory allocation and deletion. Its primary use is meant to be as a stack variable in functions that need a temporary data buffer. <a href="classExiv2_1_1DataBuf.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:namespaceExiv2"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html">Exiv2</a></td></tr> <tr class="memdesc:namespaceExiv2"><td class="mdescLeft"> </td><td class="mdescRight">Provides classes and functions to encode and decode Exif and Iptc data. The <b>libexiv2</b> API consists of the objects of this namespace. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a16313404f84067c0eb2b44a5e3c0844a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16313404f84067c0eb2b44a5e3c0844a"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="types_8hpp.html#a16313404f84067c0eb2b44a5e3c0844a">EXV_CALL_MEMBER_FN</a>(object, ptrToMember)   ((object).*(ptrToMember))</td></tr> <tr class="memdesc:a16313404f84067c0eb2b44a5e3c0844a"><td class="mdescLeft"> </td><td class="mdescRight">Macro to make calls to member functions through a pointer more readable. See the C++ FAQ LITE, item <a href="http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.5" title="[33.5] How can I avoid syntax errors when calling a member function using a pointer-to-member-function?">[33.5] How can I avoid syntax errors when calling a member function using a pointer-to-member-function?</a>. <br /></td></tr> <tr class="separator:a16313404f84067c0eb2b44a5e3c0844a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a795e59751bfd421015b3f7de8246d3d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a795e59751bfd421015b3f7de8246d3d8"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="types_8hpp.html#a795e59751bfd421015b3f7de8246d3d8">EXV_MIN</a>(a, b)   ((a) < (b) ? (a) : (b))</td></tr> <tr class="memdesc:a795e59751bfd421015b3f7de8246d3d8"><td class="mdescLeft"> </td><td class="mdescRight">Simple common min macro. <br /></td></tr> <tr class="separator:a795e59751bfd421015b3f7de8246d3d8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7174f8421524ab2dd7baf1e6e36a9fc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7174f8421524ab2dd7baf1e6e36a9fc9"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="types_8hpp.html#a7174f8421524ab2dd7baf1e6e36a9fc9">EXV_MAX</a>(a, b)   ((a) > (b) ? (a) : (b))</td></tr> <tr class="memdesc:a7174f8421524ab2dd7baf1e6e36a9fc9"><td class="mdescLeft"> </td><td class="mdescRight">Simple common max macro. <br /></td></tr> <tr class="separator:a7174f8421524ab2dd7baf1e6e36a9fc9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a26ec01b2862132b64975e59ad89747b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26ec01b2862132b64975e59ad89747b5"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="types_8hpp.html#a26ec01b2862132b64975e59ad89747b5">EXV_COUNTOF</a>(a)   (sizeof(<a class="el" href="namespaceExiv2.html#a911990ae8d2f4f47554fb493fcf31e25">Exiv2::sizer</a>(a)))</td></tr> <tr class="memdesc:a26ec01b2862132b64975e59ad89747b5"><td class="mdescLeft"> </td><td class="mdescRight">Macro to determine the size of an array. <br /></td></tr> <tr class="separator:a26ec01b2862132b64975e59ad89747b5"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:a16f60a5bd4207fe155f6cf93a15efa72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16f60a5bd4207fe155f6cf93a15efa72"></a> typedef uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">Exiv2::byte</a></td></tr> <tr class="memdesc:a16f60a5bd4207fe155f6cf93a15efa72"><td class="mdescLeft"> </td><td class="mdescRight">1 byte unsigned integer type. <br /></td></tr> <tr class="separator:a16f60a5bd4207fe155f6cf93a15efa72"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aedcaa9af0563cbd00a19b040d5aa7a70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aedcaa9af0563cbd00a19b040d5aa7a70"></a> typedef std::pair< uint32_t, <br class="typebreak" /> uint32_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aedcaa9af0563cbd00a19b040d5aa7a70">Exiv2::URational</a></td></tr> <tr class="memdesc:aedcaa9af0563cbd00a19b040d5aa7a70"><td class="mdescLeft"> </td><td class="mdescRight">8 byte unsigned rational type. <br /></td></tr> <tr class="separator:aedcaa9af0563cbd00a19b040d5aa7a70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a95756f3f7fa19103f83addf5fa088a30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95756f3f7fa19103f83addf5fa088a30"></a> typedef std::pair< int32_t, <br class="typebreak" /> int32_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a95756f3f7fa19103f83addf5fa088a30">Exiv2::Rational</a></td></tr> <tr class="memdesc:a95756f3f7fa19103f83addf5fa088a30"><td class="mdescLeft"> </td><td class="mdescRight">8 byte signed rational type. <br /></td></tr> <tr class="separator:a95756f3f7fa19103f83addf5fa088a30"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e7b9a2ef47caec919b15f1ae6ff4872"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e7b9a2ef47caec919b15f1ae6ff4872"></a> typedef std::vector< byte > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a6e7b9a2ef47caec919b15f1ae6ff4872">Exiv2::Blob</a></td></tr> <tr class="memdesc:a6e7b9a2ef47caec919b15f1ae6ff4872"><td class="mdescLeft"> </td><td class="mdescRight">Container for binary data. <br /></td></tr> <tr class="separator:a6e7b9a2ef47caec919b15f1ae6ff4872"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a94c225faf6d6c611a3828fae1c28efa6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94c225faf6d6c611a3828fae1c28efa6"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">Exiv2::ByteOrder</a> { <b>invalidByteOrder</b>, <b>littleEndian</b>, <b>bigEndian</b> }</td></tr> <tr class="memdesc:a94c225faf6d6c611a3828fae1c28efa6"><td class="mdescLeft"> </td><td class="mdescRight">Type to express the byte order (little or big endian) <br /></td></tr> <tr class="separator:a94c225faf6d6c611a3828fae1c28efa6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aabfd4f86ce5d686323498c42cfd6cde7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabfd4f86ce5d686323498c42cfd6cde7"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aabfd4f86ce5d686323498c42cfd6cde7">Exiv2::WriteMethod</a> { <b>wmIntrusive</b>, <b>wmNonIntrusive</b> }</td></tr> <tr class="memdesc:aabfd4f86ce5d686323498c42cfd6cde7"><td class="mdescLeft"> </td><td class="mdescRight">Type to indicate write method used by TIFF parsers. <br /></td></tr> <tr class="separator:aabfd4f86ce5d686323498c42cfd6cde7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acca494c8cf80f3ac8a804e1b54afffca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acca494c8cf80f3ac8a804e1b54afffca"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#acca494c8cf80f3ac8a804e1b54afffca">Exiv2::MetadataId</a> { <br />   <b>mdNone</b> =0, <b>mdExif</b> =1, <b>mdIptc</b> =2, <b>mdComment</b> =4, <br />   <b>mdXmp</b> =8 <br /> }</td></tr> <tr class="memdesc:acca494c8cf80f3ac8a804e1b54afffca"><td class="mdescLeft"> </td><td class="mdescRight">An identifier for each type of metadata. <br /></td></tr> <tr class="separator:acca494c8cf80f3ac8a804e1b54afffca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af5f0ea6c944c786f7c4c4841fa22b16c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5f0ea6c944c786f7c4c4841fa22b16c"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#af5f0ea6c944c786f7c4c4841fa22b16c">Exiv2::AccessMode</a> { <b>amNone</b> =0, <b>amRead</b> =1, <b>amWrite</b> =2, <b>amReadWrite</b> =3 }</td></tr> <tr class="memdesc:af5f0ea6c944c786f7c4c4841fa22b16c"><td class="mdescLeft"> </td><td class="mdescRight">An identifier for each mode of metadata support. <br /></td></tr> <tr class="separator:af5f0ea6c944c786f7c4c4841fa22b16c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5153319711f35fe81cbc13f4b852450c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">Exiv2::TypeId</a> { <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca6abd8e6e48dddae9bac03019ae907795">Exiv2::unsignedByte</a> = 1, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca773cf6dde5caaabb3dcf9fb161fa7dfd">Exiv2::asciiString</a> = 2, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca0329efdda8becff3ecf89bfbc816f72c">Exiv2::unsignedShort</a> = 3, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca3b506c0729276e4de3a0ab4d9b2226bd">Exiv2::unsignedLong</a> = 4, <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cae450f64413c928b527cfdd73129d6606">Exiv2::unsignedRational</a> = 5, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca717f7d50dd484167359361d2c560f83c">Exiv2::signedByte</a> = 6, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450caa044ece6f004f519dce91f57319bb6eb">Exiv2::undefined</a> = 7, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca4a46f8aa5e64d33468602515f6255b65">Exiv2::signedShort</a> = 8, <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca501fdf1b61472bff3b4da19b956eabda">Exiv2::signedLong</a> = 9, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca0d777a3a2542fbff07ed29563167b3b5">Exiv2::signedRational</a> =10, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cabcc0eb22efc41f32ba573c18731b4928">Exiv2::tiffFloat</a> =11, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca9b4d2fa208df5c86d24f7d7c41bd09a2">Exiv2::tiffDouble</a> =12, <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cae9896f64a72a68e176f02c1880b19681">Exiv2::tiffIfd</a> =13, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca2d79fb07c9ec891f281968dad43c1e25">Exiv2::string</a> =0x10000, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca0c347d8ddbbad9440f9bb6db8a06fa45">Exiv2::date</a> =0x10001, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca8526caf002a100bd730312d45808f1b6">Exiv2::time</a> =0x10002, <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca98944819f3c9921109af5f0a39fcfa34">Exiv2::comment</a> =0x10003, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cafc7cbf89ae7c64de808dc3611b2a880f">Exiv2::directory</a> =0x10004, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca77cea60f60ef2c6f0f986137c5404c02">Exiv2::xmpText</a> =0x10005, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca627dda12626324231bb87883d8efc5df">Exiv2::xmpAlt</a> =0x10006, <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450caa5e7700549d4b079db70605d945447af">Exiv2::xmpBag</a> =0x10007, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca969c20e44455272599e3a273471546e8">Exiv2::xmpSeq</a> =0x10008, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca52dce1d022dd8927bc651d2e51dc1bcd">Exiv2::langAlt</a> =0x10009, <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450cafc75de7290b703a810102c8a003fc25e">Exiv2::invalidTypeId</a> =0x1fffe, <br />   <a class="el" href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450ca1d087498b678aa18f77ab6b5c1812921">Exiv2::lastTypeId</a> =0x1ffff <br /> }</td></tr> <tr class="memdesc:a5153319711f35fe81cbc13f4b852450c"><td class="mdescLeft"> </td><td class="mdescRight">Exiv2 value type identifiers. <a href="namespaceExiv2.html#a5153319711f35fe81cbc13f4b852450c">More...</a><br /></td></tr> <tr class="separator:a5153319711f35fe81cbc13f4b852450c"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:aba0bbd0d82b12d40d7ff78e54b91d9eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba0bbd0d82b12d40d7ff78e54b91d9eb"></a> uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aba0bbd0d82b12d40d7ff78e54b91d9eb">Exiv2::getUShort</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:aba0bbd0d82b12d40d7ff78e54b91d9eb"><td class="mdescLeft"> </td><td class="mdescRight">Read a 2 byte unsigned short value from the data buffer. <br /></td></tr> <tr class="separator:aba0bbd0d82b12d40d7ff78e54b91d9eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2ac010ed4daa22c05b792ade639cda07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ac010ed4daa22c05b792ade639cda07"></a> uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a2ac010ed4daa22c05b792ade639cda07">Exiv2::getULong</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a2ac010ed4daa22c05b792ade639cda07"><td class="mdescLeft"> </td><td class="mdescRight">Read a 4 byte unsigned long value from the data buffer. <br /></td></tr> <tr class="separator:a2ac010ed4daa22c05b792ade639cda07"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd349c39a93e397914cef0e8c511d147"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd349c39a93e397914cef0e8c511d147"></a> URational </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#abd349c39a93e397914cef0e8c511d147">Exiv2::getURational</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:abd349c39a93e397914cef0e8c511d147"><td class="mdescLeft"> </td><td class="mdescRight">Read an 8 byte unsigned rational value from the data buffer. <br /></td></tr> <tr class="separator:abd349c39a93e397914cef0e8c511d147"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a034a977f27f32a817d6846160f3723c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a034a977f27f32a817d6846160f3723c9"></a> int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a034a977f27f32a817d6846160f3723c9">Exiv2::getShort</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a034a977f27f32a817d6846160f3723c9"><td class="mdescLeft"> </td><td class="mdescRight">Read a 2 byte signed short value from the data buffer. <br /></td></tr> <tr class="separator:a034a977f27f32a817d6846160f3723c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaaa13407701ef70800058a760e8be52e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaaa13407701ef70800058a760e8be52e"></a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aaaa13407701ef70800058a760e8be52e">Exiv2::getLong</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:aaaa13407701ef70800058a760e8be52e"><td class="mdescLeft"> </td><td class="mdescRight">Read a 4 byte signed long value from the data buffer. <br /></td></tr> <tr class="separator:aaaa13407701ef70800058a760e8be52e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4f99d0bb9a8a2d8ae0b85e2a556325d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f99d0bb9a8a2d8ae0b85e2a556325d4"></a> Rational </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a4f99d0bb9a8a2d8ae0b85e2a556325d4">Exiv2::getRational</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a4f99d0bb9a8a2d8ae0b85e2a556325d4"><td class="mdescLeft"> </td><td class="mdescRight">Read an 8 byte signed rational value from the data buffer. <br /></td></tr> <tr class="separator:a4f99d0bb9a8a2d8ae0b85e2a556325d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a222c7a2b5ba8f0f195a52231c83fe1eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a222c7a2b5ba8f0f195a52231c83fe1eb"></a> float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a222c7a2b5ba8f0f195a52231c83fe1eb">Exiv2::getFloat</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a222c7a2b5ba8f0f195a52231c83fe1eb"><td class="mdescLeft"> </td><td class="mdescRight">Read a 4 byte single precision floating point value (IEEE 754 binary32) from the data buffer. <br /></td></tr> <tr class="separator:a222c7a2b5ba8f0f195a52231c83fe1eb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aca1645cade15ccc7979d93c5011b1305"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca1645cade15ccc7979d93c5011b1305"></a> double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aca1645cade15ccc7979d93c5011b1305">Exiv2::getDouble</a> (const byte *buf, ByteOrder byteOrder)</td></tr> <tr class="memdesc:aca1645cade15ccc7979d93c5011b1305"><td class="mdescLeft"> </td><td class="mdescRight">Read an 8 byte double precision floating point value (IEEE 754 binary64) from the data buffer. <br /></td></tr> <tr class="separator:aca1645cade15ccc7979d93c5011b1305"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adc8f28fe68335865a3578c882a168e63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc8f28fe68335865a3578c882a168e63"></a> std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#adc8f28fe68335865a3578c882a168e63">Exiv2::operator<<</a> (std::ostream &os, const Rational &r)</td></tr> <tr class="memdesc:adc8f28fe68335865a3578c882a168e63"><td class="mdescLeft"> </td><td class="mdescRight">Output operator for our fake rational. <br /></td></tr> <tr class="separator:adc8f28fe68335865a3578c882a168e63"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a24049f1e33ba6a1de401cc6c522e1bd4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24049f1e33ba6a1de401cc6c522e1bd4"></a> std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a24049f1e33ba6a1de401cc6c522e1bd4">Exiv2::operator>></a> (std::istream &is, Rational &r)</td></tr> <tr class="memdesc:a24049f1e33ba6a1de401cc6c522e1bd4"><td class="mdescLeft"> </td><td class="mdescRight">Input operator for our fake rational. <br /></td></tr> <tr class="separator:a24049f1e33ba6a1de401cc6c522e1bd4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4c6c1f6ff6967a7ab3dccfdd21f8db71"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c6c1f6ff6967a7ab3dccfdd21f8db71"></a> std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a4c6c1f6ff6967a7ab3dccfdd21f8db71">Exiv2::operator<<</a> (std::ostream &os, const URational &r)</td></tr> <tr class="memdesc:a4c6c1f6ff6967a7ab3dccfdd21f8db71"><td class="mdescLeft"> </td><td class="mdescRight">Output operator for our fake unsigned rational. <br /></td></tr> <tr class="separator:a4c6c1f6ff6967a7ab3dccfdd21f8db71"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5f1805e406e626f02bad01d20eb9421d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f1805e406e626f02bad01d20eb9421d"></a> std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a5f1805e406e626f02bad01d20eb9421d">Exiv2::operator>></a> (std::istream &is, URational &r)</td></tr> <tr class="memdesc:a5f1805e406e626f02bad01d20eb9421d"><td class="mdescLeft"> </td><td class="mdescRight">Input operator for our fake unsigned rational. <br /></td></tr> <tr class="separator:a5f1805e406e626f02bad01d20eb9421d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a553bcd11ca439ab9f6783ee594e85bd6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a553bcd11ca439ab9f6783ee594e85bd6"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a553bcd11ca439ab9f6783ee594e85bd6">Exiv2::us2Data</a> (byte *buf, uint16_t s, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a553bcd11ca439ab9f6783ee594e85bd6"><td class="mdescLeft"> </td><td class="mdescRight">Convert an unsigned short to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:a553bcd11ca439ab9f6783ee594e85bd6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac40b07808b158c7d196d12d55c677338"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac40b07808b158c7d196d12d55c677338"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#ac40b07808b158c7d196d12d55c677338">Exiv2::ul2Data</a> (byte *buf, uint32_t l, ByteOrder byteOrder)</td></tr> <tr class="memdesc:ac40b07808b158c7d196d12d55c677338"><td class="mdescLeft"> </td><td class="mdescRight">Convert an unsigned long to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:ac40b07808b158c7d196d12d55c677338"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abe4ad1141383dad6aa8bf889c20540cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe4ad1141383dad6aa8bf889c20540cc"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#abe4ad1141383dad6aa8bf889c20540cc">Exiv2::ur2Data</a> (byte *buf, URational l, ByteOrder byteOrder)</td></tr> <tr class="memdesc:abe4ad1141383dad6aa8bf889c20540cc"><td class="mdescLeft"> </td><td class="mdescRight">Convert an unsigned rational to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:abe4ad1141383dad6aa8bf889c20540cc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a23477f61cedcffab169f291d8f9bf635"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23477f61cedcffab169f291d8f9bf635"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a23477f61cedcffab169f291d8f9bf635">Exiv2::s2Data</a> (byte *buf, int16_t s, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a23477f61cedcffab169f291d8f9bf635"><td class="mdescLeft"> </td><td class="mdescRight">Convert a signed short to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:a23477f61cedcffab169f291d8f9bf635"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf5602b3f96554d7eb6fc778abebd8c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf5602b3f96554d7eb6fc778abebd8c0"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#adf5602b3f96554d7eb6fc778abebd8c0">Exiv2::l2Data</a> (byte *buf, int32_t l, ByteOrder byteOrder)</td></tr> <tr class="memdesc:adf5602b3f96554d7eb6fc778abebd8c0"><td class="mdescLeft"> </td><td class="mdescRight">Convert a signed long to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:adf5602b3f96554d7eb6fc778abebd8c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae626dcc00cb44f8f00acdbac2da00439"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae626dcc00cb44f8f00acdbac2da00439"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#ae626dcc00cb44f8f00acdbac2da00439">Exiv2::r2Data</a> (byte *buf, Rational l, ByteOrder byteOrder)</td></tr> <tr class="memdesc:ae626dcc00cb44f8f00acdbac2da00439"><td class="mdescLeft"> </td><td class="mdescRight">Convert a signed rational to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:ae626dcc00cb44f8f00acdbac2da00439"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0ce18941bef037f98fe7c119b24da2fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ce18941bef037f98fe7c119b24da2fa"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a0ce18941bef037f98fe7c119b24da2fa">Exiv2::f2Data</a> (byte *buf, float f, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a0ce18941bef037f98fe7c119b24da2fa"><td class="mdescLeft"> </td><td class="mdescRight">Convert a single precision floating point (IEEE 754 binary32) float to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:a0ce18941bef037f98fe7c119b24da2fa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b84e90717b7fdffc136cff7a99976df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b84e90717b7fdffc136cff7a99976df"></a> long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a7b84e90717b7fdffc136cff7a99976df">Exiv2::d2Data</a> (byte *buf, double d, ByteOrder byteOrder)</td></tr> <tr class="memdesc:a7b84e90717b7fdffc136cff7a99976df"><td class="mdescLeft"> </td><td class="mdescRight">Convert a double precision floating point (IEEE 754 binary64) double to data, write the data to the buffer, return number of bytes written. <br /></td></tr> <tr class="separator:a7b84e90717b7fdffc136cff7a99976df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a95c7b79205556288e3c967798a4c5c41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95c7b79205556288e3c967798a4c5c41"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a95c7b79205556288e3c967798a4c5c41">Exiv2::hexdump</a> (std::ostream &os, const byte *buf, long len, long offset=0)</td></tr> <tr class="memdesc:a95c7b79205556288e3c967798a4c5c41"><td class="mdescLeft"> </td><td class="mdescRight">Print len bytes from buf in hex and ASCII format to the given stream, prefixed with the position in the buffer adjusted by offset. <br /></td></tr> <tr class="separator:a95c7b79205556288e3c967798a4c5c41"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acaf961ae77342e4c754b981c51036948"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaf961ae77342e4c754b981c51036948"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#acaf961ae77342e4c754b981c51036948">Exiv2::isHex</a> (const std::string &str, size_t size=0, const std::string &prefix="")</td></tr> <tr class="memdesc:acaf961ae77342e4c754b981c51036948"><td class="mdescLeft"> </td><td class="mdescRight">Return true if str is a hex number starting with prefix followed by size hex digits, false otherwise. If size is 0, any number of digits is allowed and all are checked. <br /></td></tr> <tr class="separator:acaf961ae77342e4c754b981c51036948"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc72b70889b5efd94e92446fc37ae379"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc72b70889b5efd94e92446fc37ae379"></a> int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#abc72b70889b5efd94e92446fc37ae379">Exiv2::exifTime</a> (const char *buf, struct tm *tm)</td></tr> <tr class="memdesc:abc72b70889b5efd94e92446fc37ae379"><td class="mdescLeft"> </td><td class="mdescRight">Converts a string in the form "%Y:%m:%d %H:%M:%S", e.g., "2007:05:24 12:31:55" to broken down time format, returns 0 if successful, else 1. <br /></td></tr> <tr class="separator:abc72b70889b5efd94e92446fc37ae379"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2b13ac9cb8855334ebe6b4b833e9e311"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b13ac9cb8855334ebe6b4b833e9e311"></a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a2b13ac9cb8855334ebe6b4b833e9e311">Exiv2::exvGettext</a> (const char *str)</td></tr> <tr class="memdesc:a2b13ac9cb8855334ebe6b4b833e9e311"><td class="mdescLeft"> </td><td class="mdescRight">Translate a string using the gettext framework. This wrapper hides all the implementation details from the interface. <br /></td></tr> <tr class="separator:a2b13ac9cb8855334ebe6b4b833e9e311"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1409855f9f68490e5d791b1bffc6a708"><td class="memItemLeft" align="right" valign="top">long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a1409855f9f68490e5d791b1bffc6a708">Exiv2::parseLong</a> (const std::string &s, bool &ok)</td></tr> <tr class="memdesc:a1409855f9f68490e5d791b1bffc6a708"><td class="mdescLeft"> </td><td class="mdescRight">Return a <em>long</em> set to the value represented by <em>s</em>. <a href="#a1409855f9f68490e5d791b1bffc6a708">More...</a><br /></td></tr> <tr class="separator:a1409855f9f68490e5d791b1bffc6a708"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a61c3bf069dab26d8a8b945de0b546b27"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a61c3bf069dab26d8a8b945de0b546b27">Exiv2::parseFloat</a> (const std::string &s, bool &ok)</td></tr> <tr class="memdesc:a61c3bf069dab26d8a8b945de0b546b27"><td class="mdescLeft"> </td><td class="mdescRight">Return a <em>float</em> set to the value represented by <em>s</em>. <a href="#a61c3bf069dab26d8a8b945de0b546b27">More...</a><br /></td></tr> <tr class="separator:a61c3bf069dab26d8a8b945de0b546b27"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad0c754e9c64ad5daa1f0fc5a32b88e1f"><td class="memItemLeft" align="right" valign="top">Rational </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#ad0c754e9c64ad5daa1f0fc5a32b88e1f">Exiv2::parseRational</a> (const std::string &s, bool &ok)</td></tr> <tr class="memdesc:ad0c754e9c64ad5daa1f0fc5a32b88e1f"><td class="mdescLeft"> </td><td class="mdescRight">Return a <em>Rational</em> set to the value represented by <em>s</em>. <a href="#ad0c754e9c64ad5daa1f0fc5a32b88e1f">More...</a><br /></td></tr> <tr class="separator:ad0c754e9c64ad5daa1f0fc5a32b88e1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6caa281728674d5138df8907be61c00e"><td class="memItemLeft" align="right" valign="top">Rational </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a6caa281728674d5138df8907be61c00e">Exiv2::floatToRationalCast</a> (float f)</td></tr> <tr class="memdesc:a6caa281728674d5138df8907be61c00e"><td class="mdescLeft"> </td><td class="mdescRight">Very simple conversion of a <em>float</em> to a <em>Rational</em>. <a href="#a6caa281728674d5138df8907be61c00e">More...</a><br /></td></tr> <tr class="separator:a6caa281728674d5138df8907be61c00e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aea35ee7a596e1d47d1ffbb553cfb688d"><td class="memTemplParams" colspan="2">template<typename T , typename K , int N> </td></tr> <tr class="memitem:aea35ee7a596e1d47d1ffbb553cfb688d"><td class="memTemplItemLeft" align="right" valign="top">const T * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aea35ee7a596e1d47d1ffbb553cfb688d">Exiv2::find</a> (T(&src)[N], const K &key)</td></tr> <tr class="memdesc:aea35ee7a596e1d47d1ffbb553cfb688d"><td class="mdescLeft"> </td><td class="mdescRight">Find an element that matches <em>key</em> in the array <em>src</em>. <a href="#aea35ee7a596e1d47d1ffbb553cfb688d">More...</a><br /></td></tr> <tr class="separator:aea35ee7a596e1d47d1ffbb553cfb688d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a911990ae8d2f4f47554fb493fcf31e25"><td class="memTemplParams" colspan="2"><a class="anchor" id="a911990ae8d2f4f47554fb493fcf31e25"></a> template<typename T , int N> </td></tr> <tr class="memitem:a911990ae8d2f4f47554fb493fcf31e25"><td class="memTemplItemLeft" align="right" valign="top">char(& </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a911990ae8d2f4f47554fb493fcf31e25">Exiv2::sizer</a> (T(&)[N]))[N]</td></tr> <tr class="memdesc:a911990ae8d2f4f47554fb493fcf31e25"><td class="mdescLeft"> </td><td class="mdescRight">Template used in the COUNTOF macro to determine the size of an array. <br /></td></tr> <tr class="separator:a911990ae8d2f4f47554fb493fcf31e25"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeb5a1b7e0a14e8671707d5be16cbda24"><td class="memTemplParams" colspan="2"><a class="anchor" id="aeb5a1b7e0a14e8671707d5be16cbda24"></a> template<typename T > </td></tr> <tr class="memitem:aeb5a1b7e0a14e8671707d5be16cbda24"><td class="memTemplItemLeft" align="right" valign="top">std::string </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#aeb5a1b7e0a14e8671707d5be16cbda24">Exiv2::toString</a> (const T &arg)</td></tr> <tr class="memdesc:aeb5a1b7e0a14e8671707d5be16cbda24"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to convert the argument of any type to a string. <br /></td></tr> <tr class="separator:aeb5a1b7e0a14e8671707d5be16cbda24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a94f8949fc0e956f239c26489e87c7001"><td class="memTemplParams" colspan="2">template<typename T > </td></tr> <tr class="memitem:a94f8949fc0e956f239c26489e87c7001"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a94f8949fc0e956f239c26489e87c7001">Exiv2::stringTo</a> (const std::string &s, bool &ok)</td></tr> <tr class="memdesc:a94f8949fc0e956f239c26489e87c7001"><td class="mdescLeft"> </td><td class="mdescRight">Utility function to convert a string to a value of type <code>T</code>. <a href="#a94f8949fc0e956f239c26489e87c7001">More...</a><br /></td></tr> <tr class="separator:a94f8949fc0e956f239c26489e87c7001"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5584318f5a20a6e35420d04d99c60bc3"><td class="memTemplParams" colspan="2">template<> </td></tr> <tr class="memitem:a5584318f5a20a6e35420d04d99c60bc3"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a5584318f5a20a6e35420d04d99c60bc3">Exiv2::stringTo< bool ></a> (const std::string &s, bool &ok)</td></tr> <tr class="memdesc:a5584318f5a20a6e35420d04d99c60bc3"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of <a class="el" href="namespaceExiv2.html#a94f8949fc0e956f239c26489e87c7001" title="Utility function to convert a string to a value of type T. ">stringTo(const std::string& s, bool& ok)</a> for <em>bool</em>. <a href="#a5584318f5a20a6e35420d04d99c60bc3">More...</a><br /></td></tr> <tr class="separator:a5584318f5a20a6e35420d04d99c60bc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a36dc44cabbd590c8083ed6eeab81c92d"><td class="memTemplParams" colspan="2">template<typename IntType > </td></tr> <tr class="memitem:a36dc44cabbd590c8083ed6eeab81c92d"><td class="memTemplItemLeft" align="right" valign="top">IntType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceExiv2.html#a36dc44cabbd590c8083ed6eeab81c92d">Exiv2::gcd</a> (IntType n, IntType m)</td></tr> <tr class="memdesc:a36dc44cabbd590c8083ed6eeab81c92d"><td class="mdescLeft"> </td><td class="mdescRight">Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp) <a href="#a36dc44cabbd590c8083ed6eeab81c92d">More...</a><br /></td></tr> <tr class="separator:a36dc44cabbd590c8083ed6eeab81c92d"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Type definitions for Exiv2 and related functionality. </p> <dl class="section version"><dt>Version</dt><dd></dd></dl> <dl class="section rcs"><dt>Rev</dt><dd>3201 </dd></dl> <dl class="section author"><dt>Author</dt><dd>Andreas Huggel (ahu) <a href="#" onclick="location.href='mai'+'lto:'+'ahu'+'gg'+'el@'+'gm'+'x.n'+'et'; return false;">ahuggel@gmx.net</a> </dd></dl> <dl class="section date"><dt>Date</dt><dd>09-Jan-04, ahu: created<br /> 11-Feb-04, ahu: isolated as a component<br /> 31-Jul-04, brad: added Time, Data and String values </dd></dl> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Mar 4 2016 17:51:50 for Exiv2 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.8 </small></address> </body> </html>