Sophie

Sophie

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

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>Exiv2: Exiv2::Internal::TiffComponent 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="namespaceExiv2_1_1Internal.html">Internal</a></li><li class="navelem"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="classExiv2_1_1Internal_1_1TiffComponent-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Exiv2::Internal::TiffComponent Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directories as well as entries implement this interface. A component can be uniquely identified by a tag, group tupel. This class is implemented as a NVI (Non-Virtual Interface) and it has an interface for visitors (Visitor pattern) to perform operations on all components.  
 <a href="classExiv2_1_1Internal_1_1TiffComponent.html#details">More...</a></p>

<p><code>#include &lt;tiffcomposite_int.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::Internal::TiffComponent:</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_1Internal_1_1TiffComponent__inherit__graph.png" border="0" usemap="#Exiv2_1_1Internal_1_1TiffComponent_inherit__map" alt="Inheritance graph"/></div>
<map name="Exiv2_1_1Internal_1_1TiffComponent_inherit__map" id="Exiv2_1_1Internal_1_1TiffComponent_inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1Internal_1_1TiffDirectory.html" title="This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree..." alt="" coords="376,151,699,178"/><area shape="rect" id="node3" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry and defines an e..." alt="" coords="376,202,699,229"/><area shape="rect" id="node13" href="classExiv2_1_1Internal_1_1TiffIfdMakernote.html" title="Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes. " alt="" coords="406,253,669,295"/><area shape="rect" id="node4" href="classExiv2_1_1Internal_1_1TiffBinaryArray.html" title="Composite to model an array of different tags. The tag types as well as other aspects of the array ar..." alt="" coords="752,5,1044,47"/><area shape="rect" id="node5" href="classExiv2_1_1Internal_1_1TiffBinaryElement.html" title="Element of a TiffBinaryArray. " alt="" coords="752,71,1044,112"/><area shape="rect" id="node6" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html" title="Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets to a data are..." alt="" coords="762,136,1034,177"/><area shape="rect" id="node9" href="classExiv2_1_1Internal_1_1TiffEntry.html" title="A standard TIFF IFD entry. " alt="" coords="757,202,1039,229"/><area shape="rect" id="node10" href="classExiv2_1_1Internal_1_1TiffMnEntry.html" title="This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote..." alt="" coords="747,253,1049,279"/><area shape="rect" id="node11" href="classExiv2_1_1Internal_1_1TiffSizeEntry.html" title="A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is use..." alt="" coords="762,304,1034,345"/><area shape="rect" id="node12" href="classExiv2_1_1Internal_1_1TiffSubIfd.html" title="This class models a TIFF sub&#45;directory (sub&#45;IFD). A sub&#45;IFD is an entry with one or more values that ..." alt="" coords="752,370,1044,397"/><area shape="rect" id="node7" href="classExiv2_1_1Internal_1_1TiffDataEntry.html" title="A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area..." alt="" coords="1103,104,1375,145"/><area shape="rect" id="node8" href="classExiv2_1_1Internal_1_1TiffImageEntry.html" title="A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas..." alt="" coords="1097,169,1380,211"/></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:ae6f6d2a03171e797fccd52abde24e3ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6f6d2a03171e797fccd52abde24e3ca"></a>
typedef std::auto_ptr<br class="typebreak" />
&lt; <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a></td></tr>
<tr class="memdesc:ae6f6d2a03171e797fccd52abde24e3ca"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directori...">TiffComponent</a> auto_ptr type. <br /></td></tr>
<tr class="separator:ae6f6d2a03171e797fccd52abde24e3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7480921cadfd69456e1618635ae056e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7480921cadfd69456e1618635ae056e"></a>
typedef std::vector<br class="typebreak" />
&lt; <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ab7480921cadfd69456e1618635ae056e">Components</a></td></tr>
<tr class="memdesc:ab7480921cadfd69456e1618635ae056e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container type to hold all metadata. <br /></td></tr>
<tr class="separator:ab7480921cadfd69456e1618635ae056e"><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:ae2e1ca8ba933828ea3913d6e742b67a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2e1ca8ba933828ea3913d6e742b67a9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae2e1ca8ba933828ea3913d6e742b67a9">TiffComponent</a> (uint16_t <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#abbb9dd77ea9e3696ad7363070699197a">tag</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#ab61a3dc9c8db85c29abf3f7443b25db0">IfdId</a> <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae047ff8db43dbe971d434aa7beea86d4">group</a>)</td></tr>
<tr class="memdesc:ae2e1ca8ba933828ea3913d6e742b67a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:ae2e1ca8ba933828ea3913d6e742b67a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae24fce32b86c001db5118514067114bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae24fce32b86c001db5118514067114bd"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae24fce32b86c001db5118514067114bd">~TiffComponent</a> ()</td></tr>
<tr class="memdesc:ae24fce32b86c001db5118514067114bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:ae24fce32b86c001db5118514067114bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr class="memitem:a3956f54bf18edc7462035a69cbb29739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a3956f54bf18edc7462035a69cbb29739">addPath</a> (uint16_t <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#abbb9dd77ea9e3696ad7363070699197a">tag</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#ab19b0d2996c210036ff4c659eac717eb">TiffPath</a> &amp;tiffPath, <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *const pRoot, <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a> object=<a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a>(0))</td></tr>
<tr class="memdesc:a3956f54bf18edc7462035a69cbb29739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a TIFF entry <em>tag</em> to the component. Components on the path to the entry are added if they don't exist yet.  <a href="#a3956f54bf18edc7462035a69cbb29739">More...</a><br /></td></tr>
<tr class="separator:a3956f54bf18edc7462035a69cbb29739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad191eb622542900b2052c3aafc2a9952"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ad191eb622542900b2052c3aafc2a9952">addChild</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a> tiffComponent)</td></tr>
<tr class="memdesc:ad191eb622542900b2052c3aafc2a9952"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a child to the component. Default is to do nothing.  <a href="#ad191eb622542900b2052c3aafc2a9952">More...</a><br /></td></tr>
<tr class="separator:ad191eb622542900b2052c3aafc2a9952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a951bae064ca367a8de554935f5d23b7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a951bae064ca367a8de554935f5d23b7b">addNext</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a> tiffComponent)</td></tr>
<tr class="memdesc:a951bae064ca367a8de554935f5d23b7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a "next" component to the component. Default is to do nothing.  <a href="#a951bae064ca367a8de554935f5d23b7b">More...</a><br /></td></tr>
<tr class="separator:a951bae064ca367a8de554935f5d23b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae76a57686b20b3f0db99dd43162e6aef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae76a57686b20b3f0db99dd43162e6aef">accept</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html">TiffVisitor</a> &amp;visitor)</td></tr>
<tr class="memdesc:ae76a57686b20b3f0db99dd43162e6aef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface to accept visitors (Visitor pattern). Visitors can perform operations on all components of the composite.  <a href="#ae76a57686b20b3f0db99dd43162e6aef">More...</a><br /></td></tr>
<tr class="separator:ae76a57686b20b3f0db99dd43162e6aef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58fd0f28208c10d250413636dc760012"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58fd0f28208c10d250413636dc760012"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a58fd0f28208c10d250413636dc760012">setStart</a> (const <a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *pStart)</td></tr>
<tr class="memdesc:a58fd0f28208c10d250413636dc760012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a pointer to the start of the binary representation of the component in a memory buffer. The buffer must be allocated and freed outside of this class. <br /></td></tr>
<tr class="separator:a58fd0f28208c10d250413636dc760012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b0e6489abcb3eab4f47c80f02311194"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a1b0e6489abcb3eab4f47c80f02311194">write</a> (<a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;ioWrapper, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &amp;imageIdx)</td></tr>
<tr class="memdesc:a1b0e6489abcb3eab4f47c80f02311194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directori...">TiffComponent</a> to a binary image.  <a href="#a1b0e6489abcb3eab4f47c80f02311194">More...</a><br /></td></tr>
<tr class="separator:a1b0e6489abcb3eab4f47c80f02311194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr class="memitem:abbb9dd77ea9e3696ad7363070699197a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbb9dd77ea9e3696ad7363070699197a"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#abbb9dd77ea9e3696ad7363070699197a">tag</a> () const </td></tr>
<tr class="memdesc:abbb9dd77ea9e3696ad7363070699197a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the tag of this entry. <br /></td></tr>
<tr class="separator:abbb9dd77ea9e3696ad7363070699197a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae047ff8db43dbe971d434aa7beea86d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae047ff8db43dbe971d434aa7beea86d4"></a>
<a class="el" href="namespaceExiv2_1_1Internal.html#ab61a3dc9c8db85c29abf3f7443b25db0">IfdId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae047ff8db43dbe971d434aa7beea86d4">group</a> () const </td></tr>
<tr class="memdesc:ae047ff8db43dbe971d434aa7beea86d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the group id of this component. <br /></td></tr>
<tr class="separator:ae047ff8db43dbe971d434aa7beea86d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadffde8164513da9d5dd3328729ffaac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadffde8164513da9d5dd3328729ffaac"></a>
<a class="el" href="namespaceExiv2.html#a16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#aadffde8164513da9d5dd3328729ffaac">start</a> () const </td></tr>
<tr class="memdesc:aadffde8164513da9d5dd3328729ffaac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the start of the binary representation of the component. <br /></td></tr>
<tr class="separator:aadffde8164513da9d5dd3328729ffaac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f14e9cbe6e5eec560b29c122ad3c82d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f14e9cbe6e5eec560b29c122ad3c82d"></a>
<a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a7f14e9cbe6e5eec560b29c122ad3c82d">clone</a> () const </td></tr>
<tr class="memdesc:a7f14e9cbe6e5eec560b29c122ad3c82d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an auto-pointer to a copy of itself (deep copy, but without any children). The caller owns this copy and the auto-pointer ensures that it will be deleted. <br /></td></tr>
<tr class="separator:a7f14e9cbe6e5eec560b29c122ad3c82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ca22bb91e9c6f754d6e07e4eb2c35e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22ca22bb91e9c6f754d6e07e4eb2c35e"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a22ca22bb91e9c6f754d6e07e4eb2c35e">writeData</a> (<a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;ioWrapper, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &amp;imageIdx) const </td></tr>
<tr class="memdesc:a22ca22bb91e9c6f754d6e07e4eb2c35e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the IFD data of this component to a binary image. Return the number of bytes written. Components derived from <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry and defines an e...">TiffEntryBase</a> implement this method if needed. <br /></td></tr>
<tr class="separator:a22ca22bb91e9c6f754d6e07e4eb2c35e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b9bd893ace174c25d9b35ab0a789689"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b9bd893ace174c25d9b35ab0a789689"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a4b9bd893ace174c25d9b35ab0a789689">writeImage</a> (<a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;ioWrapper, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder) const </td></tr>
<tr class="memdesc:a4b9bd893ace174c25d9b35ab0a789689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the image data of this component to a binary image. Return the number of bytes written. TIFF components implement this method if needed. <br /></td></tr>
<tr class="separator:a4b9bd893ace174c25d9b35ab0a789689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70cb160a3ee96b6f3d4121e85f3628ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70cb160a3ee96b6f3d4121e85f3628ab"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a70cb160a3ee96b6f3d4121e85f3628ab">size</a> () const </td></tr>
<tr class="memdesc:a70cb160a3ee96b6f3d4121e85f3628ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size in bytes of the IFD value of this component when written to a binary image. <br /></td></tr>
<tr class="separator:a70cb160a3ee96b6f3d4121e85f3628ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a6995093d8709c2f5061512d0d0f21f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a6995093d8709c2f5061512d0d0f21f"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a8a6995093d8709c2f5061512d0d0f21f">count</a> () const </td></tr>
<tr class="memdesc:a8a6995093d8709c2f5061512d0d0f21f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of components in this component. <br /></td></tr>
<tr class="separator:a8a6995093d8709c2f5061512d0d0f21f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c6eabeeb172dd41745f6713bcfcb34f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c6eabeeb172dd41745f6713bcfcb34f"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a5c6eabeeb172dd41745f6713bcfcb34f">sizeData</a> () const </td></tr>
<tr class="memdesc:a5c6eabeeb172dd41745f6713bcfcb34f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size in bytes of the IFD data of this component when written to a binary image. This is a support function for <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a1b0e6489abcb3eab4f47c80f02311194" title="Write a TiffComponent to a binary image. ">write()</a>. Components derived from <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry and defines an e...">TiffEntryBase</a> implement this method corresponding to their implementation of <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a22ca22bb91e9c6f754d6e07e4eb2c35e" title="Write the IFD data of this component to a binary image. Return the number of bytes written...">writeData()</a>. <br /></td></tr>
<tr class="separator:a5c6eabeeb172dd41745f6713bcfcb34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192645bb7f6f48a8e4bbf0fc330555e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a192645bb7f6f48a8e4bbf0fc330555e4"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a192645bb7f6f48a8e4bbf0fc330555e4">sizeImage</a> () const </td></tr>
<tr class="memdesc:a192645bb7f6f48a8e4bbf0fc330555e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the size in bytes of the image data of this component when written to a binary image. This is a support function for <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a1b0e6489abcb3eab4f47c80f02311194" title="Write a TiffComponent to a binary image. ">write()</a>. TIFF components implement this method corresponding to their implementation of <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a4b9bd893ace174c25d9b35ab0a789689" title="Write the image data of this component to a binary image. Return the number of bytes written...">writeImage()</a>. <br /></td></tr>
<tr class="separator:a192645bb7f6f48a8e4bbf0fc330555e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeff1bc96a64b006a32964e20badc081a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeff1bc96a64b006a32964e20badc081a"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#aeff1bc96a64b006a32964e20badc081a">idx</a> () const </td></tr>
<tr class="memdesc:aeff1bc96a64b006a32964e20badc081a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the unique id of the entry in the image. <br /></td></tr>
<tr class="separator:aeff1bc96a64b006a32964e20badc081a"><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><td colspan="2"><div class="groupHeader">Protected Manipulators</div></td></tr>
<tr class="memitem:a9f3163b156f97c9f337c9a2cc254e0c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f3163b156f97c9f337c9a2cc254e0c5"></a>
virtual <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a9f3163b156f97c9f337c9a2cc254e0c5">doAddPath</a> (uint16_t <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#abbb9dd77ea9e3696ad7363070699197a">tag</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#ab19b0d2996c210036ff4c659eac717eb">TiffPath</a> &amp;tiffPath, <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *const pRoot, <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">TiffComponent::AutoPtr</a> object)</td></tr>
<tr class="memdesc:a9f3163b156f97c9f337c9a2cc254e0c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a3956f54bf18edc7462035a69cbb29739" title="Add a TIFF entry tag to the component. Components on the path to the entry are added if they don&#39;t ex...">addPath()</a>. The default implementation does nothing. <br /></td></tr>
<tr class="separator:a9f3163b156f97c9f337c9a2cc254e0c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7613e8914b1bb67a45fc2260aeda9652"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7613e8914b1bb67a45fc2260aeda9652"></a>
virtual <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a7613e8914b1bb67a45fc2260aeda9652">doAddChild</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a> tiffComponent)</td></tr>
<tr class="memdesc:a7613e8914b1bb67a45fc2260aeda9652"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ad191eb622542900b2052c3aafc2a9952" title="Add a child to the component. Default is to do nothing. ">addChild()</a>. The default implementation does nothing. <br /></td></tr>
<tr class="separator:a7613e8914b1bb67a45fc2260aeda9652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51b8260fe31fcf7e348526837783cfcf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51b8260fe31fcf7e348526837783cfcf"></a>
virtual <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a51b8260fe31fcf7e348526837783cfcf">doAddNext</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a> tiffComponent)</td></tr>
<tr class="memdesc:a51b8260fe31fcf7e348526837783cfcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a951bae064ca367a8de554935f5d23b7b" title="Add a &quot;next&quot; component to the component. Default is to do nothing. ">addNext()</a>. The default implementation does nothing. <br /></td></tr>
<tr class="separator:a51b8260fe31fcf7e348526837783cfcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82b7887062080957e73100840ad6f4ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82b7887062080957e73100840ad6f4ff"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a82b7887062080957e73100840ad6f4ff">doAccept</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html">TiffVisitor</a> &amp;visitor)=0</td></tr>
<tr class="memdesc:a82b7887062080957e73100840ad6f4ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae76a57686b20b3f0db99dd43162e6aef" title="Interface to accept visitors (Visitor pattern). Visitors can perform operations on all components of ...">accept()</a>. <br /></td></tr>
<tr class="separator:a82b7887062080957e73100840ad6f4ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9cbce19baecb7979188542330158d03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9cbce19baecb7979188542330158d03"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ad9cbce19baecb7979188542330158d03">doWrite</a> (<a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;ioWrapper, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &amp;imageIdx)=0</td></tr>
<tr class="memdesc:ad9cbce19baecb7979188542330158d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a1b0e6489abcb3eab4f47c80f02311194" title="Write a TiffComponent to a binary image. ">write()</a>. <br /></td></tr>
<tr class="separator:ad9cbce19baecb7979188542330158d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Protected Accessors</div></td></tr>
<tr class="memitem:a2c0c1513f803d2aa8de09a44c4016d6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c0c1513f803d2aa8de09a44c4016d6a"></a>
virtual <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a2c0c1513f803d2aa8de09a44c4016d6a">doClone</a> () const =0</td></tr>
<tr class="memdesc:a2c0c1513f803d2aa8de09a44c4016d6a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="namespaceExiv2_1_1Internal.html" title="Contains internal objects which are not published and are not part of the libexiv2 API...">Internal</a> virtual copy constructor, implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a7f14e9cbe6e5eec560b29c122ad3c82d" title="Return an auto-pointer to a copy of itself (deep copy, but without any children). The caller owns thi...">clone()</a>. <br /></td></tr>
<tr class="separator:a2c0c1513f803d2aa8de09a44c4016d6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f9dd2de27d0451519fe8873b0c68772"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f9dd2de27d0451519fe8873b0c68772"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a0f9dd2de27d0451519fe8873b0c68772">doWriteData</a> (<a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;ioWrapper, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &amp;imageIdx) const =0</td></tr>
<tr class="memdesc:a0f9dd2de27d0451519fe8873b0c68772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a22ca22bb91e9c6f754d6e07e4eb2c35e" title="Write the IFD data of this component to a binary image. Return the number of bytes written...">writeData()</a>. <br /></td></tr>
<tr class="separator:a0f9dd2de27d0451519fe8873b0c68772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2956f0d98ceba9cc3d52c89fa89251dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2956f0d98ceba9cc3d52c89fa89251dd"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a2956f0d98ceba9cc3d52c89fa89251dd">doWriteImage</a> (<a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;ioWrapper, <a class="el" href="namespaceExiv2.html#a94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder) const =0</td></tr>
<tr class="memdesc:a2956f0d98ceba9cc3d52c89fa89251dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a4b9bd893ace174c25d9b35ab0a789689" title="Write the image data of this component to a binary image. Return the number of bytes written...">writeImage()</a>. <br /></td></tr>
<tr class="separator:a2956f0d98ceba9cc3d52c89fa89251dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f550c5ab52eb1b12b5b1521fdf0f757"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f550c5ab52eb1b12b5b1521fdf0f757"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a7f550c5ab52eb1b12b5b1521fdf0f757">doSize</a> () const =0</td></tr>
<tr class="memdesc:a7f550c5ab52eb1b12b5b1521fdf0f757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a70cb160a3ee96b6f3d4121e85f3628ab" title="Return the size in bytes of the IFD value of this component when written to a binary image...">size()</a>. <br /></td></tr>
<tr class="separator:a7f550c5ab52eb1b12b5b1521fdf0f757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb547ffe6a8f14dddf761464af077f00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb547ffe6a8f14dddf761464af077f00"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#aeb547ffe6a8f14dddf761464af077f00">doCount</a> () const =0</td></tr>
<tr class="memdesc:aeb547ffe6a8f14dddf761464af077f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a8a6995093d8709c2f5061512d0d0f21f" title="Return the number of components in this component. ">count()</a>. <br /></td></tr>
<tr class="separator:aeb547ffe6a8f14dddf761464af077f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a534e05a5ee70714ec4d29da33db3dee6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a534e05a5ee70714ec4d29da33db3dee6"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a534e05a5ee70714ec4d29da33db3dee6">doSizeData</a> () const =0</td></tr>
<tr class="memdesc:a534e05a5ee70714ec4d29da33db3dee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a5c6eabeeb172dd41745f6713bcfcb34f" title="Return the size in bytes of the IFD data of this component when written to a binary image...">sizeData()</a>. <br /></td></tr>
<tr class="separator:a534e05a5ee70714ec4d29da33db3dee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9eb2ed551e3ca3813bf56bc2c674451"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9eb2ed551e3ca3813bf56bc2c674451"></a>
virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ab9eb2ed551e3ca3813bf56bc2c674451">doSizeImage</a> () const =0</td></tr>
<tr class="memdesc:ab9eb2ed551e3ca3813bf56bc2c674451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a192645bb7f6f48a8e4bbf0fc330555e4" title="Return the size in bytes of the image data of this component when written to a binary image...">sizeImage()</a>. <br /></td></tr>
<tr class="separator:ab9eb2ed551e3ca3813bf56bc2c674451"><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>Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directories as well as entries implement this interface. A component can be uniquely identified by a tag, group tupel. This class is implemented as a NVI (Non-Virtual Interface) and it has an interface for visitors (Visitor pattern) to perform operations on all components. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae76a57686b20b3f0db99dd43162e6aef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::Internal::TiffComponent::accept </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html">TiffVisitor</a> &amp;&#160;</td>
          <td class="paramname"><em>visitor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interface to accept visitors (Visitor pattern). Visitors can perform operations on all components of the composite. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">visitor</td><td>The visitor. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a82b7887062080957e73100840ad6f4ff">doAccept()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html#a576a540c43077dd03d768261ebfcec8aa143ea958e4dc68dc636fad5fea2c9180">Exiv2::Internal::TiffVisitor::geTraverse</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html#a3c0f0648fd65eb69bf96e7773c7bc812">Exiv2::Internal::TiffVisitor::go()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffEncoder.html#aa7f980841679a63fd86e895c64b9268d">Exiv2::Internal::TiffEncoder::add()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffDirectory.html#a4df146903bceffb9d6e4f1dfdbb0947d">Exiv2::Internal::TiffDirectory::doAccept()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffMnEntry.html#a486002cf6c1614760236c3a6b2738c47">Exiv2::Internal::TiffMnEntry::doAccept()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffIfdMakernote.html#a9ab6b72ae54fb831aae8d3c93166d606">Exiv2::Internal::TiffIfdMakernote::doAccept()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffEncoder.html#a5e3c0f3f3875c5536f83246ba1935bbf">Exiv2::Internal::TiffEncoder::encodeImageEntry()</a>, <a class="el" href="namespaceExiv2_1_1Internal.html#a793f2472ec54d909cd6032d01fd21dae">Exiv2::Internal::nikonCrypt()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffReader.html#a22414a0e61d0f5d7c130dbb3b10fe961">Exiv2::Internal::TiffReader::readDataEntryBase()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffDecoder.html#a1507de48fdedec53c7fbd381a03ba4a6">Exiv2::Internal::TiffDecoder::TiffDecoder()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffEncoder.html#a8ce50d7674613fe90dfc0986c0f556b4">Exiv2::Internal::TiffEncoder::TiffEncoder()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffReader.html#a893b2e995e622d55268c04fea5f36561">Exiv2::Internal::TiffReader::visitBinaryArray()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffReader.html#a7efdcfe00dcaa4a51cbb8aae1481ee6e">Exiv2::Internal::TiffReader::visitMnEntry()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffReader.html#a502c535ff222883b4f479950a1132658">Exiv2::Internal::TiffReader::visitSizeEntry()</a>.</p>

</div>
</div>
<a class="anchor" id="ad191eb622542900b2052c3aafc2a9952"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> * Exiv2::Internal::TiffComponent::addChild </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">TiffComponent::AutoPtr</a>&#160;</td>
          <td class="paramname"><em>tiffComponent</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a child to the component. Default is to do nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tiffComponent</td><td>Auto pointer to the component to add. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return a pointer to the newly added child element or 0. </dd></dl>

<p>References <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a7613e8914b1bb67a45fc2260aeda9652">doAddChild()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffBinaryArray.html#ac8240d4cc33515c463d5edc99e358100">Exiv2::Internal::TiffBinaryArray::addElement()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffMnEntry.html#a334f558b62d9d6ff3a9464ae78bbdb0b">Exiv2::Internal::TiffMnEntry::doAddChild()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffIfdMakernote.html#a394a9cc44d64ef6c654cb4484fc1c8c5">Exiv2::Internal::TiffIfdMakernote::doAddChild()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffDirectory.html#a9edad2120742592a951e5575e3bab9b5">Exiv2::Internal::TiffDirectory::doAddPath()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffSubIfd.html#a0968d20fb2bbf51c0d17a3de7746fe89">Exiv2::Internal::TiffSubIfd::doAddPath()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffBinaryArray.html#a1a7c93e85c88379eae644f52f2ee949b">Exiv2::Internal::TiffBinaryArray::doAddPath()</a>.</p>

</div>
</div>
<a class="anchor" id="a951bae064ca367a8de554935f5d23b7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> * Exiv2::Internal::TiffComponent::addNext </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">TiffComponent::AutoPtr</a>&#160;</td>
          <td class="paramname"><em>tiffComponent</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a "next" component to the component. Default is to do nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tiffComponent</td><td>Auto pointer to the component to add. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return a pointer to the newly added "next" element or 0. </dd></dl>

<p>References <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a51b8260fe31fcf7e348526837783cfcf">doAddNext()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffMnEntry.html#a9e452f5ca34fa391e5653da691a1c794">Exiv2::Internal::TiffMnEntry::doAddNext()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffIfdMakernote.html#a90196d721b8439f8e1b5a8b15740dcd0">Exiv2::Internal::TiffIfdMakernote::doAddNext()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffDirectory.html#a9edad2120742592a951e5575e3bab9b5">Exiv2::Internal::TiffDirectory::doAddPath()</a>.</p>

</div>
</div>
<a class="anchor" id="a3956f54bf18edc7462035a69cbb29739"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> * Exiv2::Internal::TiffComponent::addPath </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceExiv2_1_1Internal.html#ab19b0d2996c210036ff4c659eac717eb">TiffPath</a> &amp;&#160;</td>
          <td class="paramname"><em>tiffPath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html">TiffComponent</a> *const&#160;</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_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">TiffComponent::AutoPtr</a>&#160;</td>
          <td class="paramname"><em>object</em> = <code><a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ae6f6d2a03171e797fccd52abde24e3ca">AutoPtr</a>(0)</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a TIFF entry <em>tag</em> to the component. Components on the path to the entry are added if they don't exist yet. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>The tag of the new entry </td></tr>
    <tr><td class="paramname">tiffPath</td><td>A path from the TIFF root element to a TIFF entry. </td></tr>
    <tr><td class="paramname">pRoot</td><td>Pointer to the root component of the TIFF composite. </td></tr>
    <tr><td class="paramname">object</td><td>TIFF component to add. If 0, the correct entry will be created.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly added TIFF entry. </dd></dl>

<p>References <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#a9f3163b156f97c9f337c9a2cc254e0c5">doAddPath()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffEncoder.html#aa7f980841679a63fd86e895c64b9268d">Exiv2::Internal::TiffEncoder::add()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffCopier.html#ad93c6b4502bc4b150d18b456f83c253e">Exiv2::Internal::TiffCopier::copyObject()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffDirectory.html#a9edad2120742592a951e5575e3bab9b5">Exiv2::Internal::TiffDirectory::doAddPath()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffSubIfd.html#a0968d20fb2bbf51c0d17a3de7746fe89">Exiv2::Internal::TiffSubIfd::doAddPath()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffMnEntry.html#a79588c344e1c8f19a4c0d52e867776da">Exiv2::Internal::TiffMnEntry::doAddPath()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffIfdMakernote.html#a3468216a6b55229a72e031d760db49a3">Exiv2::Internal::TiffIfdMakernote::doAddPath()</a>.</p>

</div>
</div>
<a class="anchor" id="a1b0e6489abcb3eab4f47c80f02311194"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Exiv2::Internal::TiffComponent::write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classExiv2_1_1Internal_1_1IoWrapper.html">IoWrapper</a> &amp;&#160;</td>
          <td class="paramname"><em>ioWrapper</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>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>valueIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t &amp;&#160;</td>
          <td class="paramname"><em>imageIdx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directori...">TiffComponent</a> to a binary image. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ioWrapper</td><td>IO wrapper to which the <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directori...">TiffComponent</a> is written. </td></tr>
    <tr><td class="paramname">byteOrder</td><td>Applicable byte order (little or big endian). </td></tr>
    <tr><td class="paramname">offset</td><td>Offset from the start of the image (TIFF header) to the component. </td></tr>
    <tr><td class="paramname">valueIdx</td><td>Index of the component to be written relative to offset. </td></tr>
    <tr><td class="paramname">dataIdx</td><td>Index of the data area of the component relative to offset. </td></tr>
    <tr><td class="paramname">imageIdx</td><td>Index of the image data area relative to offset. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes written to the IO wrapper including all nested components. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Error</td><td>If the component cannot be written. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#ad9cbce19baecb7979188542330158d03">doWrite()</a>.</p>

<p>Referenced by <a class="el" href="classExiv2_1_1Internal_1_1TiffDirectory.html#a3f8b673ea9c2824ccf3feea0838e0e26">Exiv2::Internal::TiffDirectory::doWrite()</a>, <a class="el" href="classExiv2_1_1Internal_1_1TiffMnEntry.html#ae9caf2f4172a40571fbd1403330a4d23">Exiv2::Internal::TiffMnEntry::doWrite()</a>, and <a class="el" href="classExiv2_1_1Internal_1_1TiffIfdMakernote.html#adaadc6113c745cdb8a69d3240781a452">Exiv2::Internal::TiffIfdMakernote::doWrite()</a>.</p>

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