<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Exiv2: Exiv2::TiffReader Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.4 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="nav"> <a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1TiffReader.html">TiffReader</a></div> <h1>Exiv2::TiffReader Class Reference</h1><!-- doxytag: class="Exiv2::TiffReader" --><!-- doxytag: inherits="Exiv2::TiffVisitor" -->TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by <a class="el" href="classExiv2_1_1TiffParser.html" title="Stateless parser class for data in TIFF format. Images use this class to decode and...">TiffParser</a> to read the TIFF data from a block of memory. <a href="#_details">More...</a> <p> <code>#include <tiffvisitor.hpp></code> <p> <div class="dynheader"> Inheritance diagram for Exiv2::TiffReader:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1TiffReader__inherit__graph.png" border="0" usemap="#Exiv2_1_1TiffReader__inherit__map" alt="Inheritance graph"></center> <map name="Exiv2_1_1TiffReader__inherit__map"> <area shape="rect" href="classExiv2_1_1TiffVisitor.html" title="Abstract base class defining the interface for TIFF composite vistors (Visitor pattern)..." alt="" coords="5,7,205,31"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for Exiv2::TiffReader:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1TiffReader__coll__graph.png" border="0" usemap="#Exiv2_1_1TiffReader__coll__map" alt="Collaboration graph"></center> <map name="Exiv2_1_1TiffReader__coll__map"> <area shape="rect" href="classExiv2_1_1TiffVisitor.html" title="Abstract base class defining the interface for TIFF composite vistors (Visitor pattern)..." alt="" coords="5,6,205,30"><area shape="rect" href="classExiv2_1_1TiffRwState.html" title="Simple state class containing relevant state information for the TIFF reader. This..." alt="" coords="229,6,429,30"><area shape="rect" href="classExiv2_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern)..." alt="" coords="453,6,675,30"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classExiv2_1_1TiffReader-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b378eb73833e53f62a86c8ff6531d932">TiffReader</a> (const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *pData, uint32_t size, <a class="el" href="classExiv2_1_1TiffComponent.html">TiffComponent</a> *pRoot, <a class="el" href="classExiv2_1_1TiffRwState.html#ae29afcaeb636bb11d55b79509a91486">TiffRwState::AutoPtr</a> state)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor. <a href="#b378eb73833e53f62a86c8ff6531d932"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8dd57761cdbf351b4e4139339f189f0"></a><!-- doxytag: member="Exiv2::TiffReader::~TiffReader" ref="a8dd57761cdbf351b4e4139339f189f0" args="()" --> virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#a8dd57761cdbf351b4e4139339f189f0">~TiffReader</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br></td></tr> <tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b00aea25e7dd3014ab417d130de32df7"></a><!-- doxytag: member="Exiv2::TiffReader::visitEntry" ref="b00aea25e7dd3014ab417d130de32df7" args="(TiffEntry *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b00aea25e7dd3014ab417d130de32df7">visitEntry</a> (<a class="el" href="classExiv2_1_1TiffEntry.html">TiffEntry</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a TIFF entry from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a443db0e4db2ed8d24c5b815d4726a9e"></a><!-- doxytag: member="Exiv2::TiffReader::visitDataEntry" ref="a443db0e4db2ed8d24c5b815d4726a9e" args="(TiffDataEntry *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#a443db0e4db2ed8d24c5b815d4726a9e">visitDataEntry</a> (<a class="el" href="classExiv2_1_1TiffDataEntry.html">TiffDataEntry</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a TIFF data entry from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="684fad7087e8cad637611ae89301a349"></a><!-- doxytag: member="Exiv2::TiffReader::visitSizeEntry" ref="684fad7087e8cad637611ae89301a349" args="(TiffSizeEntry *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#684fad7087e8cad637611ae89301a349">visitSizeEntry</a> (<a class="el" href="classExiv2_1_1TiffSizeEntry.html">TiffSizeEntry</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a TIFF size entry from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42f5a480a5720ef14309130c6eec12aa"></a><!-- doxytag: member="Exiv2::TiffReader::visitDirectory" ref="42f5a480a5720ef14309130c6eec12aa" args="(TiffDirectory *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#42f5a480a5720ef14309130c6eec12aa">visitDirectory</a> (<a class="el" href="classExiv2_1_1TiffDirectory.html">TiffDirectory</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a TIFF directory from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c6648c14b1a7d41bab5be6122c9264b"></a><!-- doxytag: member="Exiv2::TiffReader::visitSubIfd" ref="5c6648c14b1a7d41bab5be6122c9264b" args="(TiffSubIfd *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#5c6648c14b1a7d41bab5be6122c9264b">visitSubIfd</a> (<a class="el" href="classExiv2_1_1TiffSubIfd.html">TiffSubIfd</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a TIFF sub-IFD from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5ad502842c90a60873a36cfca983a46"></a><!-- doxytag: member="Exiv2::TiffReader::visitMnEntry" ref="d5ad502842c90a60873a36cfca983a46" args="(TiffMnEntry *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#d5ad502842c90a60873a36cfca983a46">visitMnEntry</a> (<a class="el" href="classExiv2_1_1TiffMnEntry.html">TiffMnEntry</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a TIFF makernote entry from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0d46e9aaaad2288a0610a3cc90b2c5c"></a><!-- doxytag: member="Exiv2::TiffReader::visitIfdMakernote" ref="b0d46e9aaaad2288a0610a3cc90b2c5c" args="(TiffIfdMakernote *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b0d46e9aaaad2288a0610a3cc90b2c5c">visitIfdMakernote</a> (<a class="el" href="classExiv2_1_1TiffIfdMakernote.html">TiffIfdMakernote</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read an IFD makernote from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3d1637bd64941eecd4b362e75737d93"></a><!-- doxytag: member="Exiv2::TiffReader::visitIfdMakernoteEnd" ref="b3d1637bd64941eecd4b362e75737d93" args="(TiffIfdMakernote *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#b3d1637bd64941eecd4b362e75737d93">visitIfdMakernoteEnd</a> (<a class="el" href="classExiv2_1_1TiffIfdMakernote.html">TiffIfdMakernote</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reset reader to its original state, undo makernote specific settings. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0a9065346467be8471b93fa8a63fb11"></a><!-- doxytag: member="Exiv2::TiffReader::visitArrayEntry" ref="a0a9065346467be8471b93fa8a63fb11" args="(TiffArrayEntry *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#a0a9065346467be8471b93fa8a63fb11">visitArrayEntry</a> (<a class="el" href="classExiv2_1_1TiffArrayEntry.html">TiffArrayEntry</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read an array entry component from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="674331cf0d1d84ab85658a1a8c09cc9e"></a><!-- doxytag: member="Exiv2::TiffReader::visitArrayElement" ref="674331cf0d1d84ab85658a1a8c09cc9e" args="(TiffArrayElement *object)" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#674331cf0d1d84ab85658a1a8c09cc9e">visitArrayElement</a> (<a class="el" href="classExiv2_1_1TiffArrayElement.html">TiffArrayElement</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read an array element from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dc888337ec37d0dc1690c0a30d349a7"></a><!-- doxytag: member="Exiv2::TiffReader::readTiffEntry" ref="8dc888337ec37d0dc1690c0a30d349a7" args="(TiffEntryBase *object)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#8dc888337ec37d0dc1690c0a30d349a7">readTiffEntry</a> (<a class="el" href="classExiv2_1_1TiffEntryBase.html">TiffEntryBase</a> *object)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read a standard TIFF entry from the data buffer. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="635cb05a05dd7b3e9722d2a3a7f74660"></a><!-- doxytag: member="Exiv2::TiffReader::changeState" ref="635cb05a05dd7b3e9722d2a3a7f74660" args="(TiffRwState::AutoPtr state)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#635cb05a05dd7b3e9722d2a3a7f74660">changeState</a> (<a class="el" href="classExiv2_1_1TiffRwState.html#ae29afcaeb636bb11d55b79509a91486">TiffRwState::AutoPtr</a> state)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the <em>state</em> class. Assumes ownership of the object passed in. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e45ff48eb1f3542fd98818436146f402"></a><!-- doxytag: member="Exiv2::TiffReader::resetState" ref="e45ff48eb1f3542fd98818436146f402" args="()" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#e45ff48eb1f3542fd98818436146f402">resetState</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the state to the original state as set in the constructor. <br></td></tr> <tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c198f8118fd281e51b7249c803acac3f"></a><!-- doxytag: member="Exiv2::TiffReader::byteOrder" ref="c198f8118fd281e51b7249c803acac3f" args="() const " --> <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#c198f8118fd281e51b7249c803acac3f">byteOrder</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the byte order. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad9e39b44b1fce8cb7058b7deb3f1b0e"></a><!-- doxytag: member="Exiv2::TiffReader::baseOffset" ref="ad9e39b44b1fce8cb7058b7deb3f1b0e" args="() const " --> uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#ad9e39b44b1fce8cb7058b7deb3f1b0e">baseOffset</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the base offset. See class <a class="el" href="classExiv2_1_1TiffRwState.html" title="Simple state class containing relevant state information for the TIFF reader. This...">TiffRwState</a> for details. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0e1787de9ce5ba9d3333d484b56918a"></a><!-- doxytag: member="Exiv2::TiffReader::create" ref="a0e1787de9ce5ba9d3333d484b56918a" args="(uint32_t extendedTag, uint16_t group) const " --> std::auto_ptr< <a class="el" href="classExiv2_1_1TiffComponent.html">TiffComponent</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1TiffReader.html#a0e1787de9ce5ba9d3333d484b56918a">create</a> (uint32_t extendedTag, uint16_t group) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a TIFF component for <em>extendedTag</em> and group. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by <a class="el" href="classExiv2_1_1TiffParser.html" title="Stateless parser class for data in TIFF format. Images use this class to decode and...">TiffParser</a> to read the TIFF data from a block of memory. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="b378eb73833e53f62a86c8ff6531d932"></a><!-- doxytag: member="Exiv2::TiffReader::TiffReader" ref="b378eb73833e53f62a86c8ff6531d932" args="(const byte *pData, uint32_t size, TiffComponent *pRoot, TiffRwState::AutoPtr state)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Exiv2::TiffReader::TiffReader </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td> <td class="paramname"> <em>pData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classExiv2_1_1TiffComponent.html">TiffComponent</a> * </td> <td class="paramname"> <em>pRoot</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classExiv2_1_1TiffRwState.html#ae29afcaeb636bb11d55b79509a91486">TiffRwState::AutoPtr</a> </td> <td class="paramname"> <em>state</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pData</em> </td><td>Pointer to the data buffer, starting with a TIFF header. </td></tr> <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>Number of bytes in the data buffer. </td></tr> <tr><td valign="top"></td><td valign="top"><em>pRoot</em> </td><td>Root element of the TIFF composite. </td></tr> <tr><td valign="top"></td><td valign="top"><em>state</em> </td><td>State object for creation function, byteorder and base offset. </td></tr> </table> </dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="tiffvisitor_8hpp.html">tiffvisitor.hpp</a></ul> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:13 2008 for Exiv2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address> </body> </html>