~ubuntu-branches/ubuntu/precise/exiv2/precise

« back to all changes in this revision

Viewing changes to doc/html/classExiv2_1_1BasicIo.html

  • Committer: Bazaar Package Importer
  • Author(s): Anthony Mercatante
  • Date: 2006-12-07 18:40:10 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20061207184010-0ouu8v0dr8nznob9
Tags: 0.12-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
6
</head><body>
7
 
<!-- Generated by Doxygen 1.4.6 -->
 
7
<!-- Generated by Doxygen 1.5.1 -->
8
8
<div class="tabs">
9
9
  <ul>
10
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
12
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
13
13
    <li><a href="files.html"><span>Files</span></a></li>
14
14
    <li><a href="examples.html"><span>Examples</span></a></li>
 
15
    <li>
 
16
      <form action="search.php" method="get">
 
17
        <table cellspacing="0" cellpadding="0" border="0">
 
18
          <tr>
 
19
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
 
20
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
 
21
          </tr>
 
22
        </table>
 
23
      </form>
 
24
    </li>
15
25
  </ul></div>
16
26
<div class="tabs">
17
27
  <ul>
29
39
<p>
30
40
Inheritance diagram for Exiv2::BasicIo:<p><center><img src="classExiv2_1_1BasicIo__inherit__graph.png" border="0" usemap="#Exiv2_1_1BasicIo__inherit__map" alt="Inheritance graph"></center>
31
41
<map name="Exiv2_1_1BasicIo__inherit__map">
32
 
<area href="classExiv2_1_1FileIo.html" shape="rect" coords="5,81,99,105" alt="">
33
 
<area href="classExiv2_1_1MemIo.html" shape="rect" coords="123,81,227,105" alt="">
 
42
<area href="classExiv2_1_1FileIo.html" shape="rect" coords="5,81,107,105" alt="">
 
43
<area href="classExiv2_1_1MemIo.html" shape="rect" coords="131,81,243,105" alt="">
34
44
</map>
35
45
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classExiv2_1_1BasicIo-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
36
46
<tr><td></td></tr>
37
47
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
38
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8f989522925b884d8c9d3a257265fa1"></a><!-- doxytag: member="Exiv2::BasicIo::AutoPtr" ref="f8f989522925b884d8c9d3a257265fa1" args="" -->
39
 
typedef std::auto_ptr&lt; <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">AutoPtr</a></td></tr>
40
 
 
41
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> auto_ptr type. <br></td></tr>
42
48
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#1d23c3bf7618f2ee6ebb5cf033b10911">Position</a> { <b>beg</b>, 
43
49
<b>cur</b>, 
44
50
<b>end</b>
45
51
 }</td></tr>
46
52
 
47
53
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seek starting positions. <br></td></tr>
 
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8f989522925b884d8c9d3a257265fa1"></a><!-- doxytag: member="Exiv2::BasicIo::AutoPtr" ref="f8f989522925b884d8c9d3a257265fa1" args="" -->
 
55
typedef std::auto_ptr&lt; <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">AutoPtr</a></td></tr>
 
56
 
 
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> auto_ptr type. <br></td></tr>
48
58
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
49
 
<tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr>
50
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c6658dc8caea27ac88def52ce0789bd"></a><!-- doxytag: member="Exiv2::BasicIo::~BasicIo" ref="0c6658dc8caea27ac88def52ce0789bd" args="()" -->
51
 
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#0c6658dc8caea27ac88def52ce0789bd">~BasicIo</a> ()</td></tr>
52
 
 
53
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
54
59
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
55
60
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#1beff0dcdf03510bad13b6946379c5f2">open</a> ()=0</td></tr>
56
61
 
82
87
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#561221bbe1d215b4d6b5ceceaa2e9a97">seek</a> (long offset, <a class="el" href="classExiv2_1_1BasicIo.html#1d23c3bf7618f2ee6ebb5cf033b10911">Position</a> pos)=0</td></tr>
83
88
 
84
89
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the current IO position.  <a href="#561221bbe1d215b4d6b5ceceaa2e9a97"></a><br></td></tr>
 
90
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#56dedc1898b73b376280fc9c9d656d9b">mmap</a> ()=0</td></tr>
 
91
 
 
92
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Direct access to the IO data. For files, this is done by mapping the file into the process's address space; for memory blocks, this allows direct access to the memory block.  <a href="#56dedc1898b73b376280fc9c9d656d9b"></a><br></td></tr>
 
93
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="501ac3b9cdbcf80456d12b9db0e22c68"></a><!-- doxytag: member="Exiv2::BasicIo::munmap" ref="501ac3b9cdbcf80456d12b9db0e22c68" args="()=0" -->
 
94
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#501ac3b9cdbcf80456d12b9db0e22c68">munmap</a> ()=0</td></tr>
 
95
 
 
96
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a mapping established with <a class="el" href="classExiv2_1_1BasicIo.html#56dedc1898b73b376280fc9c9d656d9b">mmap()</a>. <br></td></tr>
85
97
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
86
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#eb9673a48a7af7376b7018998fb552e6">tell</a> () const =0</td></tr>
87
 
 
88
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current IO position.  <a href="#eb9673a48a7af7376b7018998fb552e6"></a><br></td></tr>
89
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#01903a1a2310197eb7e3fd41bedc3054">size</a> () const =0</td></tr>
90
 
 
91
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current size of the IO source in bytes.  <a href="#01903a1a2310197eb7e3fd41bedc3054"></a><br></td></tr>
92
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17744832ee807c68f9c8d744692d9aaf"></a><!-- doxytag: member="Exiv2::BasicIo::isopen" ref="17744832ee807c68f9c8d744692d9aaf" args="() const =0" -->
93
 
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#17744832ee807c68f9c8d744692d9aaf">isopen</a> () const =0</td></tr>
 
98
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#7b30c5ec54f00bc2420f1e5482f4b5e2">tell</a> () const=0</td></tr>
 
99
 
 
100
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current IO position.  <a href="#7b30c5ec54f00bc2420f1e5482f4b5e2"></a><br></td></tr>
 
101
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#b30518eef26c1bbe29077ed804a39ee6">size</a> () const=0</td></tr>
 
102
 
 
103
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current size of the IO source in bytes.  <a href="#b30518eef26c1bbe29077ed804a39ee6"></a><br></td></tr>
 
104
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0638dcede159cd8d7fa4fb1b05096e39"></a><!-- doxytag: member="Exiv2::BasicIo::isopen" ref="0638dcede159cd8d7fa4fb1b05096e39" args="() const=0" -->
 
105
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#0638dcede159cd8d7fa4fb1b05096e39">isopen</a> () const=0</td></tr>
94
106
 
95
107
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the IO source is open, otherwise false. <br></td></tr>
96
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d674727cddbf9cea627423620a8bb3d0"></a><!-- doxytag: member="Exiv2::BasicIo::error" ref="d674727cddbf9cea627423620a8bb3d0" args="() const =0" -->
97
 
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#d674727cddbf9cea627423620a8bb3d0">error</a> () const =0</td></tr>
 
108
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="65a4ac789d06fbe8b616bfb16bb66f23"></a><!-- doxytag: member="Exiv2::BasicIo::error" ref="65a4ac789d06fbe8b616bfb16bb66f23" args="() const=0" -->
 
109
virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#65a4ac789d06fbe8b616bfb16bb66f23">error</a> () const=0</td></tr>
98
110
 
99
111
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 0 if the IO source is in a valid state, otherwise nonzero. <br></td></tr>
100
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29b826f89a8aac3c83ece6f8f343ed72"></a><!-- doxytag: member="Exiv2::BasicIo::eof" ref="29b826f89a8aac3c83ece6f8f343ed72" args="() const =0" -->
101
 
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#29b826f89a8aac3c83ece6f8f343ed72">eof</a> () const =0</td></tr>
 
112
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cfc84e22e556407570d418fece23338"></a><!-- doxytag: member="Exiv2::BasicIo::eof" ref="5cfc84e22e556407570d418fece23338" args="() const=0" -->
 
113
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#5cfc84e22e556407570d418fece23338">eof</a> () const=0</td></tr>
102
114
 
103
115
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the IO position has reach the end, otherwise false. <br></td></tr>
104
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c4af60d14039fd99d36c73ce8354c15"></a><!-- doxytag: member="Exiv2::BasicIo::path" ref="8c4af60d14039fd99d36c73ce8354c15" args="() const =0" -->
105
 
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#8c4af60d14039fd99d36c73ce8354c15">path</a> () const =0</td></tr>
 
116
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ddfacd50a552191c8d14c1bc88995c5"></a><!-- doxytag: member="Exiv2::BasicIo::path" ref="3ddfacd50a552191c8d14c1bc88995c5" args="() const=0" -->
 
117
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#3ddfacd50a552191c8d14c1bc88995c5">path</a> () const=0</td></tr>
106
118
 
107
119
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the path to the IO resource. Often used to form comprehensive error messages where only a <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance is available. <br></td></tr>
108
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#ec9dd2dd223ce57650462c74a0770502">temporary</a> () const =0</td></tr>
109
 
 
110
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a temporary data storage location. This is often needed to rewrite an IO source.  <a href="#ec9dd2dd223ce57650462c74a0770502"></a><br></td></tr>
111
 
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
112
 
<tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr>
113
 
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c726bef377a5da282b0f2cadb5b779be"></a><!-- doxytag: member="Exiv2::BasicIo::BasicIo" ref="c726bef377a5da282b0f2cadb5b779be" args="()" -->
114
 
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#c726bef377a5da282b0f2cadb5b779be">BasicIo</a> ()</td></tr>
115
 
 
116
 
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default Constructor. <br></td></tr>
 
120
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1BasicIo.html#2c962d72689c040a04c18f9317b12497">temporary</a> () const=0</td></tr>
 
121
 
 
122
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a temporary data storage location. This is often needed to rewrite an IO source.  <a href="#2c962d72689c040a04c18f9317b12497"></a><br></td></tr>
117
123
</table>
118
124
<hr><a name="_details"></a><h2>Detailed Description</h2>
119
125
An interface for simple binary IO. 
121
127
Designed to have semantics and names similar to those of C style FILE* operations. Subclasses should all behave the same so that they can be interchanged. 
122
128
<p>
123
129
<hr><h2>Member Function Documentation</h2>
124
 
<a class="anchor" name="67ae3ca0f8aece92a7b7749dfb02edde"></a><!-- doxytag: member="Exiv2::BasicIo::close" ref="67ae3ca0f8aece92a7b7749dfb02edde" args="()=0" --><p>
125
 
<table class="mdTable" cellpadding="2" cellspacing="0">
126
 
  <tr>
127
 
    <td class="mdRow">
128
 
      <table cellpadding="0" cellspacing="0" border="0">
129
 
        <tr>
130
 
          <td class="md" nowrap valign="top">virtual int Exiv2::BasicIo::close           </td>
131
 
          <td class="md" valign="top">(&nbsp;</td>
132
 
          <td class="mdname1" valign="top" nowrap>          </td>
133
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
134
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
135
 
        </tr>
136
 
      </table>
137
 
    </td>
138
 
  </tr>
139
 
</table>
140
 
<table cellspacing="5" cellpadding="0" border="0">
141
 
  <tr>
142
 
    <td>
143
 
      &nbsp;
144
 
    </td>
145
 
    <td>
146
 
 
147
 
<p>
148
 
Close the IO source. After closing a <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance can not be read or written. Closing flushes any unwritten data. It is safe to call close on a closed instance. 
149
 
<p>
150
 
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
151
 
 Nonzero if failure. </dd></dl>
152
 
 
153
 
<p>
154
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#e0a881364b273ff14fb90c9375e9378b">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#7c87d3a1b552a4a93fe38255b43d0fc5">Exiv2::MemIo</a>.    </td>
155
 
  </tr>
156
 
</table>
157
 
<a class="anchor" name="648bc0d9b1a79e34684375074d806534"></a><!-- doxytag: member="Exiv2::BasicIo::getb" ref="648bc0d9b1a79e34684375074d806534" args="()=0" --><p>
158
 
<table class="mdTable" cellpadding="2" cellspacing="0">
159
 
  <tr>
160
 
    <td class="mdRow">
161
 
      <table cellpadding="0" cellspacing="0" border="0">
162
 
        <tr>
163
 
          <td class="md" nowrap valign="top">virtual int Exiv2::BasicIo::getb           </td>
164
 
          <td class="md" valign="top">(&nbsp;</td>
165
 
          <td class="mdname1" valign="top" nowrap>          </td>
166
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
167
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
168
 
        </tr>
169
 
      </table>
170
 
    </td>
171
 
  </tr>
172
 
</table>
173
 
<table cellspacing="5" cellpadding="0" border="0">
174
 
  <tr>
175
 
    <td>
176
 
      &nbsp;
177
 
    </td>
178
 
    <td>
179
 
 
180
 
<p>
181
 
Read one byte from the IO source. Current IO position is advanced by one byte. 
182
 
<p>
183
 
<dl compact><dt><b>Returns:</b></dt><dd>The byte read from the IO source if successful;<br>
184
 
 EOF if failure; </dd></dl>
185
 
 
186
 
<p>
187
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#7b211213f0c2e3b9153a69f67c15ab47">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#c3a53ab7bda3678eb813e505bad4e50a">Exiv2::MemIo</a>.    </td>
188
 
  </tr>
189
 
</table>
190
 
<a class="anchor" name="1beff0dcdf03510bad13b6946379c5f2"></a><!-- doxytag: member="Exiv2::BasicIo::open" ref="1beff0dcdf03510bad13b6946379c5f2" args="()=0" --><p>
191
 
<table class="mdTable" cellpadding="2" cellspacing="0">
192
 
  <tr>
193
 
    <td class="mdRow">
194
 
      <table cellpadding="0" cellspacing="0" border="0">
195
 
        <tr>
196
 
          <td class="md" nowrap valign="top">virtual int Exiv2::BasicIo::open           </td>
197
 
          <td class="md" valign="top">(&nbsp;</td>
198
 
          <td class="mdname1" valign="top" nowrap>          </td>
199
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
200
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
201
 
        </tr>
202
 
      </table>
203
 
    </td>
204
 
  </tr>
205
 
</table>
206
 
<table cellspacing="5" cellpadding="0" border="0">
207
 
  <tr>
208
 
    <td>
209
 
      &nbsp;
210
 
    </td>
211
 
    <td>
 
130
<a class="anchor" name="1beff0dcdf03510bad13b6946379c5f2"></a><!-- doxytag: member="Exiv2::BasicIo::open" ref="1beff0dcdf03510bad13b6946379c5f2" args="()=0" -->
 
131
<div class="memitem">
 
132
<div class="memproto">
 
133
      <table class="memname">
 
134
        <tr>
 
135
          <td class="memname">virtual int Exiv2::BasicIo::open           </td>
 
136
          <td>(</td>
 
137
          <td class="paramname">          </td>
 
138
          <td>&nbsp;)&nbsp;</td>
 
139
          <td width="100%"><code> [pure virtual]</code></td>
 
140
        </tr>
 
141
      </table>
 
142
</div>
 
143
<div class="memdoc">
212
144
 
213
145
<p>
214
146
Open the IO source using the default access mode. The default mode should allow for reading and writing. 
215
147
<p>
216
148
This method can also be used to "reopen" an IO source which will flush any unwritten data and reset the IO position to the start. Subclasses may provide custom methods to allow for opening IO sources differently.<p>
217
 
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
218
 
 Nonzero if failure. </dd></dl>
219
 
 
220
 
<p>
221
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#82a0cd197da227242ad8fcc50a70d29b">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#32f5d13aff64550f03dbc93692d27d16">Exiv2::MemIo</a>.    </td>
222
 
  </tr>
223
 
</table>
224
 
<a class="anchor" name="d16a1fab0f122c8ca11b86d09b03b9a7"></a><!-- doxytag: member="Exiv2::BasicIo::putb" ref="d16a1fab0f122c8ca11b86d09b03b9a7" args="(byte data)=0" --><p>
225
 
<table class="mdTable" cellpadding="2" cellspacing="0">
226
 
  <tr>
227
 
    <td class="mdRow">
228
 
      <table cellpadding="0" cellspacing="0" border="0">
229
 
        <tr>
230
 
          <td class="md" nowrap valign="top">virtual int Exiv2::BasicIo::putb           </td>
231
 
          <td class="md" valign="top">(&nbsp;</td>
232
 
          <td class="md" nowrap valign="top"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td>
233
 
          <td class="mdname1" valign="top" nowrap> <em>data</em>          </td>
234
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
235
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
236
 
        </tr>
237
 
      </table>
238
 
    </td>
239
 
  </tr>
240
 
</table>
241
 
<table cellspacing="5" cellpadding="0" border="0">
242
 
  <tr>
243
 
    <td>
244
 
      &nbsp;
245
 
    </td>
246
 
    <td>
 
149
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 
150
 Nonzero if failure. </dd></dl>
 
151
 
 
152
<p>
 
153
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#88b8ab582237647a4c28120c15030a71">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#cbc7726037d2eb0dbbdef649f30ebc5c">Exiv2::MemIo</a>.
 
154
</div>
 
155
</div><p>
 
156
<a class="anchor" name="67ae3ca0f8aece92a7b7749dfb02edde"></a><!-- doxytag: member="Exiv2::BasicIo::close" ref="67ae3ca0f8aece92a7b7749dfb02edde" args="()=0" -->
 
157
<div class="memitem">
 
158
<div class="memproto">
 
159
      <table class="memname">
 
160
        <tr>
 
161
          <td class="memname">virtual int Exiv2::BasicIo::close           </td>
 
162
          <td>(</td>
 
163
          <td class="paramname">          </td>
 
164
          <td>&nbsp;)&nbsp;</td>
 
165
          <td width="100%"><code> [pure virtual]</code></td>
 
166
        </tr>
 
167
      </table>
 
168
</div>
 
169
<div class="memdoc">
 
170
 
 
171
<p>
 
172
Close the IO source. After closing a <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance can not be read or written. Closing flushes any unwritten data. It is safe to call close on a closed instance. 
 
173
<p>
 
174
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 
175
 Nonzero if failure. </dd></dl>
 
176
 
 
177
<p>
 
178
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#794be686e28524d9eed2a0811d477d3b">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#f2263c6d49984da7ce38daed9f327b1e">Exiv2::MemIo</a>.
 
179
</div>
 
180
</div><p>
 
181
<a class="anchor" name="c548d52ef633ac425bd01d17ccd2e7e4"></a><!-- doxytag: member="Exiv2::BasicIo::write" ref="c548d52ef633ac425bd01d17ccd2e7e4" args="(const byte *data, long wcount)=0" -->
 
182
<div class="memitem">
 
183
<div class="memproto">
 
184
      <table class="memname">
 
185
        <tr>
 
186
          <td class="memname">virtual long Exiv2::BasicIo::write           </td>
 
187
          <td>(</td>
 
188
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
 
189
          <td class="paramname"> <em>data</em>, </td>
 
190
        </tr>
 
191
        <tr>
 
192
          <td class="paramkey"></td>
 
193
          <td></td>
 
194
          <td class="paramtype">long&nbsp;</td>
 
195
          <td class="paramname"> <em>wcount</em></td><td>&nbsp;</td>
 
196
        </tr>
 
197
        <tr>
 
198
          <td></td>
 
199
          <td>)</td>
 
200
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
 
201
        </tr>
 
202
      </table>
 
203
</div>
 
204
<div class="memdoc">
 
205
 
 
206
<p>
 
207
Write data to the IO source. Current IO position is advanced by the number of bytes written. 
 
208
<p>
 
209
<dl compact><dt><b>Parameters:</b></dt><dd>
 
210
  <table border="0" cellspacing="2" cellpadding="0">
 
211
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to data. Data must be at least <em>wcount</em> bytes long </td></tr>
 
212
    <tr><td valign="top"></td><td valign="top"><em>wcount</em>&nbsp;</td><td>Number of bytes to be written. </td></tr>
 
213
  </table>
 
214
</dl>
 
215
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes written to IO source successfully;<br>
 
216
 0 if failure; </dd></dl>
 
217
 
 
218
<p>
 
219
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#1a576f408124d428d5c446a19e2a504d">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#79993ba49c24c36b30f444c218ce4579">Exiv2::MemIo</a>.
 
220
</div>
 
221
</div><p>
 
222
<a class="anchor" name="31334606e230bbe94d6b8768d3c6d75f"></a><!-- doxytag: member="Exiv2::BasicIo::write" ref="31334606e230bbe94d6b8768d3c6d75f" args="(BasicIo &amp;src)=0" -->
 
223
<div class="memitem">
 
224
<div class="memproto">
 
225
      <table class="memname">
 
226
        <tr>
 
227
          <td class="memname">virtual long Exiv2::BasicIo::write           </td>
 
228
          <td>(</td>
 
229
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td>
 
230
          <td class="paramname"> <em>src</em>          </td>
 
231
          <td>&nbsp;)&nbsp;</td>
 
232
          <td width="100%"><code> [pure virtual]</code></td>
 
233
        </tr>
 
234
      </table>
 
235
</div>
 
236
<div class="memdoc">
 
237
 
 
238
<p>
 
239
Write data that is read from another <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance to the IO source. Current IO position is advanced by the number of bytes written. 
 
240
<p>
 
241
<dl compact><dt><b>Parameters:</b></dt><dd>
 
242
  <table border="0" cellspacing="2" cellpadding="0">
 
243
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Reference to another <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance. Reading start at the source's current IO position </td></tr>
 
244
  </table>
 
245
</dl>
 
246
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes written to IO source successfully;<br>
 
247
 0 if failure; </dd></dl>
 
248
 
 
249
<p>
 
250
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#7fd4444f019a2cfbd0e925e9b181c95c">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#84c854a02e45febea5c0dfc0192e4b6e">Exiv2::MemIo</a>.
 
251
</div>
 
252
</div><p>
 
253
<a class="anchor" name="d16a1fab0f122c8ca11b86d09b03b9a7"></a><!-- doxytag: member="Exiv2::BasicIo::putb" ref="d16a1fab0f122c8ca11b86d09b03b9a7" args="(byte data)=0" -->
 
254
<div class="memitem">
 
255
<div class="memproto">
 
256
      <table class="memname">
 
257
        <tr>
 
258
          <td class="memname">virtual int Exiv2::BasicIo::putb           </td>
 
259
          <td>(</td>
 
260
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>&nbsp;</td>
 
261
          <td class="paramname"> <em>data</em>          </td>
 
262
          <td>&nbsp;)&nbsp;</td>
 
263
          <td width="100%"><code> [pure virtual]</code></td>
 
264
        </tr>
 
265
      </table>
 
266
</div>
 
267
<div class="memdoc">
247
268
 
248
269
<p>
249
270
Write one byte to the IO source. Current IO position is advanced by one byte. 
253
274
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The single byte to be written. </td></tr>
254
275
  </table>
255
276
</dl>
256
 
<dl compact><dt><b>Returns:</b></dt><dd>The value of the byte written if successful;<br>
 
277
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The value of the byte written if successful;<br>
257
278
 EOF if failure; </dd></dl>
258
279
 
259
280
<p>
260
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#5d982468386b392b34b5ee8142b73396">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#2737a46ff783d3e9c66c6f8ce255d913">Exiv2::MemIo</a>.    </td>
261
 
  </tr>
262
 
</table>
263
 
<a class="anchor" name="ec8cb20c86e72b87577370a28d66a0ca"></a><!-- doxytag: member="Exiv2::BasicIo::read" ref="ec8cb20c86e72b87577370a28d66a0ca" args="(byte *buf, long rcount)=0" --><p>
264
 
<table class="mdTable" cellpadding="2" cellspacing="0">
265
 
  <tr>
266
 
    <td class="mdRow">
267
 
      <table cellpadding="0" cellspacing="0" border="0">
268
 
        <tr>
269
 
          <td class="md" nowrap valign="top">virtual long Exiv2::BasicIo::read           </td>
270
 
          <td class="md" valign="top">(&nbsp;</td>
271
 
          <td class="md" nowrap valign="top"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
272
 
          <td class="mdname" nowrap> <em>buf</em>, </td>
273
 
        </tr>
274
 
        <tr>
275
 
          <td class="md" nowrap align="right"></td>
276
 
          <td class="md"></td>
277
 
          <td class="md" nowrap>long&nbsp;</td>
278
 
          <td class="mdname" nowrap> <em>rcount</em></td>
279
 
        </tr>
280
 
        <tr>
281
 
          <td class="md"></td>
282
 
          <td class="md">)&nbsp;</td>
283
 
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
284
 
        </tr>
285
 
      </table>
286
 
    </td>
287
 
  </tr>
288
 
</table>
289
 
<table cellspacing="5" cellpadding="0" border="0">
290
 
  <tr>
291
 
    <td>
292
 
      &nbsp;
293
 
    </td>
294
 
    <td>
 
281
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#581c10115b42fc3a6c2b177337988922">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#5999ba245f79d581c9c5a16982d736b6">Exiv2::MemIo</a>.
 
282
</div>
 
283
</div><p>
 
284
<a class="anchor" name="8c9e6c7377b642afbb2c14a0e3896917"></a><!-- doxytag: member="Exiv2::BasicIo::read" ref="8c9e6c7377b642afbb2c14a0e3896917" args="(long rcount)=0" -->
 
285
<div class="memitem">
 
286
<div class="memproto">
 
287
      <table class="memname">
 
288
        <tr>
 
289
          <td class="memname">virtual <a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a> Exiv2::BasicIo::read           </td>
 
290
          <td>(</td>
 
291
          <td class="paramtype">long&nbsp;</td>
 
292
          <td class="paramname"> <em>rcount</em>          </td>
 
293
          <td>&nbsp;)&nbsp;</td>
 
294
          <td width="100%"><code> [pure virtual]</code></td>
 
295
        </tr>
 
296
      </table>
 
297
</div>
 
298
<div class="memdoc">
 
299
 
 
300
<p>
 
301
Read data from the IO source. Reading starts at the current IO position and the position is advanced by the number of bytes read. 
 
302
<p>
 
303
<dl compact><dt><b>Parameters:</b></dt><dd>
 
304
  <table border="0" cellspacing="2" cellpadding="0">
 
305
    <tr><td valign="top"></td><td valign="top"><em>rcount</em>&nbsp;</td><td>Maximum number of bytes to read. Fewer bytes may be read if <em>rcount</em> bytes are not available. </td></tr>
 
306
  </table>
 
307
</dl>
 
308
<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a> instance containing the bytes read. Use the <a class="el" href="classExiv2_1_1DataBuf.html#5e6028d5cdae2e149749667cf66c3e91">DataBuf::size_</a> member to find the number of bytes read. <a class="el" href="classExiv2_1_1DataBuf.html#5e6028d5cdae2e149749667cf66c3e91">DataBuf::size_</a> will be 0 on failure. </dd></dl>
 
309
 
 
310
<p>
 
311
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#48ed0700ccfb60a6a435ab7086734965">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#3d45d5be7b0e25c32d37d5055da0adc0">Exiv2::MemIo</a>.
 
312
</div>
 
313
</div><p>
 
314
<a class="anchor" name="ec8cb20c86e72b87577370a28d66a0ca"></a><!-- doxytag: member="Exiv2::BasicIo::read" ref="ec8cb20c86e72b87577370a28d66a0ca" args="(byte *buf, long rcount)=0" -->
 
315
<div class="memitem">
 
316
<div class="memproto">
 
317
      <table class="memname">
 
318
        <tr>
 
319
          <td class="memname">virtual long Exiv2::BasicIo::read           </td>
 
320
          <td>(</td>
 
321
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
 
322
          <td class="paramname"> <em>buf</em>, </td>
 
323
        </tr>
 
324
        <tr>
 
325
          <td class="paramkey"></td>
 
326
          <td></td>
 
327
          <td class="paramtype">long&nbsp;</td>
 
328
          <td class="paramname"> <em>rcount</em></td><td>&nbsp;</td>
 
329
        </tr>
 
330
        <tr>
 
331
          <td></td>
 
332
          <td>)</td>
 
333
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
 
334
        </tr>
 
335
      </table>
 
336
</div>
 
337
<div class="memdoc">
295
338
 
296
339
<p>
297
340
Read data from the IO source. Reading starts at the current IO position and the position is advanced by the number of bytes read. 
302
345
    <tr><td valign="top"></td><td valign="top"><em>rcount</em>&nbsp;</td><td>Maximum number of bytes to read. Fewer bytes may be read if <em>rcount</em> bytes are not available. </td></tr>
303
346
  </table>
304
347
</dl>
305
 
<dl compact><dt><b>Returns:</b></dt><dd>Number of bytes read from IO source successfully;<br>
 
348
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes read from IO source successfully;<br>
306
349
 0 if failure; </dd></dl>
307
350
 
308
351
<p>
309
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#23f598a52577e98be9f4292518ba6198">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#3c4d85990cf914c9c5475466ba522289">Exiv2::MemIo</a>.    </td>
310
 
  </tr>
311
 
</table>
312
 
<a class="anchor" name="8c9e6c7377b642afbb2c14a0e3896917"></a><!-- doxytag: member="Exiv2::BasicIo::read" ref="8c9e6c7377b642afbb2c14a0e3896917" args="(long rcount)=0" --><p>
313
 
<table class="mdTable" cellpadding="2" cellspacing="0">
314
 
  <tr>
315
 
    <td class="mdRow">
316
 
      <table cellpadding="0" cellspacing="0" border="0">
317
 
        <tr>
318
 
          <td class="md" nowrap valign="top">virtual <a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a> Exiv2::BasicIo::read           </td>
319
 
          <td class="md" valign="top">(&nbsp;</td>
320
 
          <td class="md" nowrap valign="top">long&nbsp;</td>
321
 
          <td class="mdname1" valign="top" nowrap> <em>rcount</em>          </td>
322
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
323
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
324
 
        </tr>
325
 
      </table>
326
 
    </td>
327
 
  </tr>
328
 
</table>
329
 
<table cellspacing="5" cellpadding="0" border="0">
330
 
  <tr>
331
 
    <td>
332
 
      &nbsp;
333
 
    </td>
334
 
    <td>
335
 
 
336
 
<p>
337
 
Read data from the IO source. Reading starts at the current IO position and the position is advanced by the number of bytes read. 
338
 
<p>
 
352
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#a54d2b91db8ac2073fbe438ef19ac055">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#7de679e4366d070dc6604db1d22275ce">Exiv2::MemIo</a>.
 
353
</div>
 
354
</div><p>
 
355
<a class="anchor" name="648bc0d9b1a79e34684375074d806534"></a><!-- doxytag: member="Exiv2::BasicIo::getb" ref="648bc0d9b1a79e34684375074d806534" args="()=0" -->
 
356
<div class="memitem">
 
357
<div class="memproto">
 
358
      <table class="memname">
 
359
        <tr>
 
360
          <td class="memname">virtual int Exiv2::BasicIo::getb           </td>
 
361
          <td>(</td>
 
362
          <td class="paramname">          </td>
 
363
          <td>&nbsp;)&nbsp;</td>
 
364
          <td width="100%"><code> [pure virtual]</code></td>
 
365
        </tr>
 
366
      </table>
 
367
</div>
 
368
<div class="memdoc">
 
369
 
 
370
<p>
 
371
Read one byte from the IO source. Current IO position is advanced by one byte. 
 
372
<p>
 
373
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The byte read from the IO source if successful;<br>
 
374
 EOF if failure; </dd></dl>
 
375
 
 
376
<p>
 
377
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#0741ebecd2ea70f86c40457c33cd6c66">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b5d5467941f00e4bb47a411182955d44">Exiv2::MemIo</a>.
 
378
</div>
 
379
</div><p>
 
380
<a class="anchor" name="cb964ff603c96da8711baddb66a385a4"></a><!-- doxytag: member="Exiv2::BasicIo::transfer" ref="cb964ff603c96da8711baddb66a385a4" args="(BasicIo &amp;src)=0" -->
 
381
<div class="memitem">
 
382
<div class="memproto">
 
383
      <table class="memname">
 
384
        <tr>
 
385
          <td class="memname">virtual void Exiv2::BasicIo::transfer           </td>
 
386
          <td>(</td>
 
387
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td>
 
388
          <td class="paramname"> <em>src</em>          </td>
 
389
          <td>&nbsp;)&nbsp;</td>
 
390
          <td width="100%"><code> [pure virtual]</code></td>
 
391
        </tr>
 
392
      </table>
 
393
</div>
 
394
<div class="memdoc">
 
395
 
 
396
<p>
 
397
Remove all data from this object's IO source and then transfer data from the <em>src</em> <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> object into this object. 
 
398
<p>
 
399
The source object is invalidated by this operation and should not be used after this method returns. This method exists primarily to be used with the <a class="el" href="classExiv2_1_1BasicIo.html#2c962d72689c040a04c18f9317b12497">BasicIo::temporary()</a> method.<p>
339
400
<dl compact><dt><b>Parameters:</b></dt><dd>
340
401
  <table border="0" cellspacing="2" cellpadding="0">
341
 
    <tr><td valign="top"></td><td valign="top"><em>rcount</em>&nbsp;</td><td>Maximum number of bytes to read. Fewer bytes may be read if <em>rcount</em> bytes are not available. </td></tr>
342
 
  </table>
343
 
</dl>
344
 
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="classExiv2_1_1DataBuf.html">DataBuf</a> instance containing the bytes read. Use the <a class="el" href="classExiv2_1_1DataBuf.html#5e6028d5cdae2e149749667cf66c3e91">DataBuf::size_</a> member to find the number of bytes read. <a class="el" href="classExiv2_1_1DataBuf.html#5e6028d5cdae2e149749667cf66c3e91">DataBuf::size_</a> will be 0 on failure. </dd></dl>
 
402
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Reference to another <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance. The entire contents of src are transferred to this object. The <em>src</em> object is invalidated by the method. </td></tr>
 
403
  </table>
 
404
</dl>
 
405
<dl compact><dt><b>Exceptions:</b></dt><dd>
 
406
  <table border="0" cellspacing="2" cellpadding="0">
 
407
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html">Error</a></em>&nbsp;</td><td>In case of failure </td></tr>
 
408
  </table>
 
409
</dl>
345
410
 
346
411
<p>
347
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#5c7364fbbdc740ec0736da33ad9a82f0">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b5b0239fe9df1d515e581d318ccceb7c">Exiv2::MemIo</a>.    </td>
348
 
  </tr>
349
 
</table>
350
 
<a class="anchor" name="561221bbe1d215b4d6b5ceceaa2e9a97"></a><!-- doxytag: member="Exiv2::BasicIo::seek" ref="561221bbe1d215b4d6b5ceceaa2e9a97" args="(long offset, Position pos)=0" --><p>
351
 
<table class="mdTable" cellpadding="2" cellspacing="0">
352
 
  <tr>
353
 
    <td class="mdRow">
354
 
      <table cellpadding="0" cellspacing="0" border="0">
355
 
        <tr>
356
 
          <td class="md" nowrap valign="top">virtual int Exiv2::BasicIo::seek           </td>
357
 
          <td class="md" valign="top">(&nbsp;</td>
358
 
          <td class="md" nowrap valign="top">long&nbsp;</td>
359
 
          <td class="mdname" nowrap> <em>offset</em>, </td>
360
 
        </tr>
361
 
        <tr>
362
 
          <td class="md" nowrap align="right"></td>
363
 
          <td class="md"></td>
364
 
          <td class="md" nowrap><a class="el" href="classExiv2_1_1BasicIo.html#1d23c3bf7618f2ee6ebb5cf033b10911">Position</a>&nbsp;</td>
365
 
          <td class="mdname" nowrap> <em>pos</em></td>
366
 
        </tr>
367
 
        <tr>
368
 
          <td class="md"></td>
369
 
          <td class="md">)&nbsp;</td>
370
 
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
 
412
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#a860f63e95d227be73b86b2fe64ad7b8">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#223908a596491d75cebbb7a6f9c1559f">Exiv2::MemIo</a>.
 
413
</div>
 
414
</div><p>
 
415
<a class="anchor" name="561221bbe1d215b4d6b5ceceaa2e9a97"></a><!-- doxytag: member="Exiv2::BasicIo::seek" ref="561221bbe1d215b4d6b5ceceaa2e9a97" args="(long offset, Position pos)=0" -->
 
416
<div class="memitem">
 
417
<div class="memproto">
 
418
      <table class="memname">
 
419
        <tr>
 
420
          <td class="memname">virtual int Exiv2::BasicIo::seek           </td>
 
421
          <td>(</td>
 
422
          <td class="paramtype">long&nbsp;</td>
 
423
          <td class="paramname"> <em>offset</em>, </td>
 
424
        </tr>
 
425
        <tr>
 
426
          <td class="paramkey"></td>
 
427
          <td></td>
 
428
          <td class="paramtype"><a class="el" href="classExiv2_1_1BasicIo.html#1d23c3bf7618f2ee6ebb5cf033b10911">Position</a>&nbsp;</td>
 
429
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
 
430
        </tr>
 
431
        <tr>
 
432
          <td></td>
 
433
          <td>)</td>
 
434
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
371
435
        </tr>
372
436
      </table>
373
 
    </td>
374
 
  </tr>
375
 
</table>
376
 
<table cellspacing="5" cellpadding="0" border="0">
377
 
  <tr>
378
 
    <td>
379
 
      &nbsp;
380
 
    </td>
381
 
    <td>
 
437
</div>
 
438
<div class="memdoc">
382
439
 
383
440
<p>
384
441
Move the current IO position. 
389
446
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Position from which the seek should start </td></tr>
390
447
  </table>
391
448
</dl>
392
 
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
 
449
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful;<br>
393
450
 Nonzero if failure; </dd></dl>
394
 
    </td>
395
 
  </tr>
396
 
</table>
397
 
<a class="anchor" name="01903a1a2310197eb7e3fd41bedc3054"></a><!-- doxytag: member="Exiv2::BasicIo::size" ref="01903a1a2310197eb7e3fd41bedc3054" args="() const =0" --><p>
398
 
<table class="mdTable" cellpadding="2" cellspacing="0">
399
 
  <tr>
400
 
    <td class="mdRow">
401
 
      <table cellpadding="0" cellspacing="0" border="0">
402
 
        <tr>
403
 
          <td class="md" nowrap valign="top">virtual long Exiv2::BasicIo::size           </td>
404
 
          <td class="md" valign="top">(&nbsp;</td>
405
 
          <td class="mdname1" valign="top" nowrap>          </td>
406
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
407
 
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
408
 
        </tr>
409
 
      </table>
410
 
    </td>
411
 
  </tr>
412
 
</table>
413
 
<table cellspacing="5" cellpadding="0" border="0">
414
 
  <tr>
415
 
    <td>
416
 
      &nbsp;
417
 
    </td>
418
 
    <td>
 
451
 
 
452
<p>
 
453
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#889840bb9764987ce7a13c10d3ddcf2e">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b4a12d5b5ed6f8447c7167942c4aa4ae">Exiv2::MemIo</a>.
 
454
</div>
 
455
</div><p>
 
456
<a class="anchor" name="56dedc1898b73b376280fc9c9d656d9b"></a><!-- doxytag: member="Exiv2::BasicIo::mmap" ref="56dedc1898b73b376280fc9c9d656d9b" args="()=0" -->
 
457
<div class="memitem">
 
458
<div class="memproto">
 
459
      <table class="memname">
 
460
        <tr>
 
461
          <td class="memname">virtual const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a>* Exiv2::BasicIo::mmap           </td>
 
462
          <td>(</td>
 
463
          <td class="paramname">          </td>
 
464
          <td>&nbsp;)&nbsp;</td>
 
465
          <td width="100%"><code> [pure virtual]</code></td>
 
466
        </tr>
 
467
      </table>
 
468
</div>
 
469
<div class="memdoc">
 
470
 
 
471
<p>
 
472
Direct access to the IO data. For files, this is done by mapping the file into the process's address space; for memory blocks, this allows direct access to the memory block. 
 
473
<p>
 
474
Todo: This is currently only for read access. 
 
475
<p>
 
476
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#262356ec3c52ccdba2862b289f8e5e37">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b3e20f77251ba80e65cd6e6ac93efd76">Exiv2::MemIo</a>.
 
477
</div>
 
478
</div><p>
 
479
<a class="anchor" name="7b30c5ec54f00bc2420f1e5482f4b5e2"></a><!-- doxytag: member="Exiv2::BasicIo::tell" ref="7b30c5ec54f00bc2420f1e5482f4b5e2" args="() const=0" -->
 
480
<div class="memitem">
 
481
<div class="memproto">
 
482
      <table class="memname">
 
483
        <tr>
 
484
          <td class="memname">virtual long Exiv2::BasicIo::tell           </td>
 
485
          <td>(</td>
 
486
          <td class="paramname">          </td>
 
487
          <td>&nbsp;)&nbsp;</td>
 
488
          <td width="100%"> const<code> [pure virtual]</code></td>
 
489
        </tr>
 
490
      </table>
 
491
</div>
 
492
<div class="memdoc">
 
493
 
 
494
<p>
 
495
Get the current IO position. 
 
496
<p>
 
497
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Offset from the start of IO if successful;<br>
 
498
 -1 if failure; </dd></dl>
 
499
 
 
500
<p>
 
501
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#3eae8ca1955b5e9c9e70e116b5af98df">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b3a522e04b23cc17c2aadf126d4d222b">Exiv2::MemIo</a>.
 
502
</div>
 
503
</div><p>
 
504
<a class="anchor" name="b30518eef26c1bbe29077ed804a39ee6"></a><!-- doxytag: member="Exiv2::BasicIo::size" ref="b30518eef26c1bbe29077ed804a39ee6" args="() const=0" -->
 
505
<div class="memitem">
 
506
<div class="memproto">
 
507
      <table class="memname">
 
508
        <tr>
 
509
          <td class="memname">virtual long Exiv2::BasicIo::size           </td>
 
510
          <td>(</td>
 
511
          <td class="paramname">          </td>
 
512
          <td>&nbsp;)&nbsp;</td>
 
513
          <td width="100%"> const<code> [pure virtual]</code></td>
 
514
        </tr>
 
515
      </table>
 
516
</div>
 
517
<div class="memdoc">
419
518
 
420
519
<p>
421
520
Get the current size of the IO source in bytes. 
422
521
<p>
423
 
<dl compact><dt><b>Returns:</b></dt><dd>Size of the IO source in bytes;<br>
424
 
 -1 if failure; </dd></dl>
425
 
 
426
 
<p>
427
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#661e30ac842bbbeedef11aa9e1454f6d">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#4cba82129b173367e5e987125d2a1635">Exiv2::MemIo</a>.    </td>
428
 
  </tr>
429
 
</table>
430
 
<a class="anchor" name="eb9673a48a7af7376b7018998fb552e6"></a><!-- doxytag: member="Exiv2::BasicIo::tell" ref="eb9673a48a7af7376b7018998fb552e6" args="() const =0" --><p>
431
 
<table class="mdTable" cellpadding="2" cellspacing="0">
432
 
  <tr>
433
 
    <td class="mdRow">
434
 
      <table cellpadding="0" cellspacing="0" border="0">
435
 
        <tr>
436
 
          <td class="md" nowrap valign="top">virtual long Exiv2::BasicIo::tell           </td>
437
 
          <td class="md" valign="top">(&nbsp;</td>
438
 
          <td class="mdname1" valign="top" nowrap>          </td>
439
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
440
 
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
441
 
        </tr>
442
 
      </table>
443
 
    </td>
444
 
  </tr>
445
 
</table>
446
 
<table cellspacing="5" cellpadding="0" border="0">
447
 
  <tr>
448
 
    <td>
449
 
      &nbsp;
450
 
    </td>
451
 
    <td>
452
 
 
453
 
<p>
454
 
Get the current IO position. 
455
 
<p>
456
 
<dl compact><dt><b>Returns:</b></dt><dd>Offset from the start of IO if successful;<br>
457
 
 -1 if failure; </dd></dl>
458
 
 
459
 
<p>
460
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#bf285ea310f0c53d3107de6ba6e518db">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#832a61a8b49b570024068efb54d08955">Exiv2::MemIo</a>.    </td>
461
 
  </tr>
462
 
</table>
463
 
<a class="anchor" name="ec9dd2dd223ce57650462c74a0770502"></a><!-- doxytag: member="Exiv2::BasicIo::temporary" ref="ec9dd2dd223ce57650462c74a0770502" args="() const =0" --><p>
464
 
<table class="mdTable" cellpadding="2" cellspacing="0">
465
 
  <tr>
466
 
    <td class="mdRow">
467
 
      <table cellpadding="0" cellspacing="0" border="0">
468
 
        <tr>
469
 
          <td class="md" nowrap valign="top">virtual <a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> Exiv2::BasicIo::temporary           </td>
470
 
          <td class="md" valign="top">(&nbsp;</td>
471
 
          <td class="mdname1" valign="top" nowrap>          </td>
472
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
473
 
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
474
 
        </tr>
475
 
      </table>
476
 
    </td>
477
 
  </tr>
478
 
</table>
479
 
<table cellspacing="5" cellpadding="0" border="0">
480
 
  <tr>
481
 
    <td>
482
 
      &nbsp;
483
 
    </td>
484
 
    <td>
 
522
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Size of the IO source in bytes;<br>
 
523
 -1 if failure; </dd></dl>
 
524
 
 
525
<p>
 
526
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#7f1b30a20c4478007079d4291872359b">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b13e91650bd961bb7938290ffe100ec2">Exiv2::MemIo</a>.
 
527
</div>
 
528
</div><p>
 
529
<a class="anchor" name="2c962d72689c040a04c18f9317b12497"></a><!-- doxytag: member="Exiv2::BasicIo::temporary" ref="2c962d72689c040a04c18f9317b12497" args="() const=0" -->
 
530
<div class="memitem">
 
531
<div class="memproto">
 
532
      <table class="memname">
 
533
        <tr>
 
534
          <td class="memname">virtual <a class="el" href="classExiv2_1_1BasicIo.html#f8f989522925b884d8c9d3a257265fa1">BasicIo::AutoPtr</a> Exiv2::BasicIo::temporary           </td>
 
535
          <td>(</td>
 
536
          <td class="paramname">          </td>
 
537
          <td>&nbsp;)&nbsp;</td>
 
538
          <td width="100%"> const<code> [pure virtual]</code></td>
 
539
        </tr>
 
540
      </table>
 
541
</div>
 
542
<div class="memdoc">
485
543
 
486
544
<p>
487
545
Returns a temporary data storage location. This is often needed to rewrite an IO source. 
488
546
<p>
489
547
For example, data may be read from the original IO source, modified in some way, and then saved to the temporary instance. After the operation is complete, the <a class="el" href="classExiv2_1_1BasicIo.html#cb964ff603c96da8711baddb66a385a4">BasicIo::transfer</a> method can be used to replace the original IO source with the modified version. Subclasses are free to return any class that derives from <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a>.<p>
490
 
<dl compact><dt><b>Returns:</b></dt><dd>An instance of <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> on success </dd></dl>
491
 
<dl compact><dt><b>Exceptions:</b></dt><dd>
492
 
  <table border="0" cellspacing="2" cellpadding="0">
493
 
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html">Error</a></em>&nbsp;</td><td>In case of failure </td></tr>
494
 
  </table>
495
 
</dl>
496
 
 
497
 
<p>
498
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#ffc1034970489c7734cfefed90b4d8d1">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#c3d6031a13b8a7eae6959178bb1301a0">Exiv2::MemIo</a>.    </td>
499
 
  </tr>
500
 
</table>
501
 
<a class="anchor" name="cb964ff603c96da8711baddb66a385a4"></a><!-- doxytag: member="Exiv2::BasicIo::transfer" ref="cb964ff603c96da8711baddb66a385a4" args="(BasicIo &amp;src)=0" --><p>
502
 
<table class="mdTable" cellpadding="2" cellspacing="0">
503
 
  <tr>
504
 
    <td class="mdRow">
505
 
      <table cellpadding="0" cellspacing="0" border="0">
506
 
        <tr>
507
 
          <td class="md" nowrap valign="top">virtual void Exiv2::BasicIo::transfer           </td>
508
 
          <td class="md" valign="top">(&nbsp;</td>
509
 
          <td class="md" nowrap valign="top"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td>
510
 
          <td class="mdname1" valign="top" nowrap> <em>src</em>          </td>
511
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
512
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
513
 
        </tr>
514
 
      </table>
515
 
    </td>
516
 
  </tr>
517
 
</table>
518
 
<table cellspacing="5" cellpadding="0" border="0">
519
 
  <tr>
520
 
    <td>
521
 
      &nbsp;
522
 
    </td>
523
 
    <td>
524
 
 
525
 
<p>
526
 
Remove all data from this object's IO source and then transfer data from the <em>src</em> <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> object into this object. 
527
 
<p>
528
 
The source object is invalidated by this operation and should not be used after this method returns. This method exists primarily to be used with the <a class="el" href="classExiv2_1_1BasicIo.html#ec9dd2dd223ce57650462c74a0770502">BasicIo::temporary()</a> method.<p>
529
 
<dl compact><dt><b>Parameters:</b></dt><dd>
530
 
  <table border="0" cellspacing="2" cellpadding="0">
531
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Reference to another <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance. The entire contents of src are transferred to this object. The <em>src</em> object is invalidated by the method. </td></tr>
532
 
  </table>
533
 
</dl>
534
 
<dl compact><dt><b>Exceptions:</b></dt><dd>
535
 
  <table border="0" cellspacing="2" cellpadding="0">
536
 
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html">Error</a></em>&nbsp;</td><td>In case of failure </td></tr>
537
 
  </table>
538
 
</dl>
539
 
 
540
 
<p>
541
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#7820fe3bdac99ff4a78dccccba1eed10">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#c0c261a78dfeb097eacb51d14552389c">Exiv2::MemIo</a>.    </td>
542
 
  </tr>
543
 
</table>
544
 
<a class="anchor" name="31334606e230bbe94d6b8768d3c6d75f"></a><!-- doxytag: member="Exiv2::BasicIo::write" ref="31334606e230bbe94d6b8768d3c6d75f" args="(BasicIo &amp;src)=0" --><p>
545
 
<table class="mdTable" cellpadding="2" cellspacing="0">
546
 
  <tr>
547
 
    <td class="mdRow">
548
 
      <table cellpadding="0" cellspacing="0" border="0">
549
 
        <tr>
550
 
          <td class="md" nowrap valign="top">virtual long Exiv2::BasicIo::write           </td>
551
 
          <td class="md" valign="top">(&nbsp;</td>
552
 
          <td class="md" nowrap valign="top"><a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> &amp;&nbsp;</td>
553
 
          <td class="mdname1" valign="top" nowrap> <em>src</em>          </td>
554
 
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
555
 
          <td class="md" nowrap><code> [pure virtual]</code></td>
556
 
        </tr>
557
 
      </table>
558
 
    </td>
559
 
  </tr>
560
 
</table>
561
 
<table cellspacing="5" cellpadding="0" border="0">
562
 
  <tr>
563
 
    <td>
564
 
      &nbsp;
565
 
    </td>
566
 
    <td>
567
 
 
568
 
<p>
569
 
Write data that is read from another <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance to the IO source. Current IO position is advanced by the number of bytes written. 
570
 
<p>
571
 
<dl compact><dt><b>Parameters:</b></dt><dd>
572
 
  <table border="0" cellspacing="2" cellpadding="0">
573
 
    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Reference to another <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> instance. Reading start at the source's current IO position </td></tr>
574
 
  </table>
575
 
</dl>
576
 
<dl compact><dt><b>Returns:</b></dt><dd>Number of bytes written to IO source successfully;<br>
577
 
 0 if failure; </dd></dl>
578
 
 
579
 
<p>
580
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#d388515b87717088238dca8d71e75470">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#0d22943b9f0f0cc399bd7616dd7dd695">Exiv2::MemIo</a>.    </td>
581
 
  </tr>
582
 
</table>
583
 
<a class="anchor" name="c548d52ef633ac425bd01d17ccd2e7e4"></a><!-- doxytag: member="Exiv2::BasicIo::write" ref="c548d52ef633ac425bd01d17ccd2e7e4" args="(const byte *data, long wcount)=0" --><p>
584
 
<table class="mdTable" cellpadding="2" cellspacing="0">
585
 
  <tr>
586
 
    <td class="mdRow">
587
 
      <table cellpadding="0" cellspacing="0" border="0">
588
 
        <tr>
589
 
          <td class="md" nowrap valign="top">virtual long Exiv2::BasicIo::write           </td>
590
 
          <td class="md" valign="top">(&nbsp;</td>
591
 
          <td class="md" nowrap valign="top">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
592
 
          <td class="mdname" nowrap> <em>data</em>, </td>
593
 
        </tr>
594
 
        <tr>
595
 
          <td class="md" nowrap align="right"></td>
596
 
          <td class="md"></td>
597
 
          <td class="md" nowrap>long&nbsp;</td>
598
 
          <td class="mdname" nowrap> <em>wcount</em></td>
599
 
        </tr>
600
 
        <tr>
601
 
          <td class="md"></td>
602
 
          <td class="md">)&nbsp;</td>
603
 
          <td class="md" colspan="2"><code> [pure virtual]</code></td>
604
 
        </tr>
605
 
      </table>
606
 
    </td>
607
 
  </tr>
608
 
</table>
609
 
<table cellspacing="5" cellpadding="0" border="0">
610
 
  <tr>
611
 
    <td>
612
 
      &nbsp;
613
 
    </td>
614
 
    <td>
615
 
 
616
 
<p>
617
 
Write data to the IO source. Current IO position is advanced by the number of bytes written. 
618
 
<p>
619
 
<dl compact><dt><b>Parameters:</b></dt><dd>
620
 
  <table border="0" cellspacing="2" cellpadding="0">
621
 
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to data. Data must be at least <em>wcount</em> bytes long </td></tr>
622
 
    <tr><td valign="top"></td><td valign="top"><em>wcount</em>&nbsp;</td><td>Number of bytes to be written. </td></tr>
623
 
  </table>
624
 
</dl>
625
 
<dl compact><dt><b>Returns:</b></dt><dd>Number of bytes written to IO source successfully;<br>
626
 
 0 if failure; </dd></dl>
627
 
 
628
 
<p>
629
 
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#5b3d5f5a5b4b7f9d3d8cec46a4ad95f7">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#b34c91ef04dd9b8f5faf51d380aa55b9">Exiv2::MemIo</a>.    </td>
630
 
  </tr>
631
 
</table>
 
548
<dl class="return" compact><dt><b>Returns:</b></dt><dd>An instance of <a class="el" href="classExiv2_1_1BasicIo.html">BasicIo</a> on success </dd></dl>
 
549
<dl compact><dt><b>Exceptions:</b></dt><dd>
 
550
  <table border="0" cellspacing="2" cellpadding="0">
 
551
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html">Error</a></em>&nbsp;</td><td>In case of failure </td></tr>
 
552
  </table>
 
553
</dl>
 
554
 
 
555
<p>
 
556
Implemented in <a class="el" href="classExiv2_1_1FileIo.html#92ffc109765919436e59bf3031fb9483">Exiv2::FileIo</a>, and <a class="el" href="classExiv2_1_1MemIo.html#82a9fd278a45a7dd9f67a76d952ed1a8">Exiv2::MemIo</a>.
 
557
</div>
 
558
</div><p>
632
559
<hr>The documentation for this class was generated from the following file:<ul>
633
560
<li><a class="el" href="basicio_8hpp.html">basicio.hpp</a></ul>
634
 
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 2 23:54:45 2006 for Exiv2 by&nbsp;
 
561
<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 27 20:16:24 2006 for Exiv2 by&nbsp;
635
562
<a href="http://www.doxygen.org/index.html">
636
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
 
563
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
637
564
</body>
638
565
</html>