47
57
<tr><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for a StringValueBase auto pointer. <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="5787c8e04b3cec1870b3abd95d15ea6b"></a><!-- doxytag: member="Exiv2::StringValueBase::StringValueBase" ref="5787c8e04b3cec1870b3abd95d15ea6b" args="(TypeId typeId)" -->
51
</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#5787c8e04b3cec1870b3abd95d15ea6b">StringValueBase</a> (<a class="el" href="namespaceExiv2.html#5153319711f35fe81cbc13f4b852450c">TypeId</a> typeId)</td></tr>
53
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for subclasses. <br></td></tr>
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="837785dfc0f3561c939c2a9b4224ceb0"></a><!-- doxytag: member="Exiv2::StringValueBase::StringValueBase" ref="837785dfc0f3561c939c2a9b4224ceb0" args="(TypeId typeId, const std::string &buf)" -->
55
</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#837785dfc0f3561c939c2a9b4224ceb0">StringValueBase</a> (<a class="el" href="namespaceExiv2.html#5153319711f35fe81cbc13f4b852450c">TypeId</a> typeId, const std::string &buf)</td></tr>
57
<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for subclasses. <br></td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dba0f1f9e5ca8e2873d0b2815786f99e"></a><!-- doxytag: member="Exiv2::StringValueBase::StringValueBase" ref="dba0f1f9e5ca8e2873d0b2815786f99e" args="(const StringValueBase &rhs)" -->
59
</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#dba0f1f9e5ca8e2873d0b2815786f99e">StringValueBase</a> (const <a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> &rhs)</td></tr>
61
<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ac242f851ece0249691464db664e4e8"></a><!-- doxytag: member="Exiv2::StringValueBase::~StringValueBase" ref="2ac242f851ece0249691464db664e4e8" args="()" -->
63
virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#2ac242f851ece0249691464db664e4e8">~StringValueBase</a> ()</td></tr>
65
<tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br></td></tr>
66
59
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
67
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63dbdd58d31e39e7803445931f18d701"></a><!-- doxytag: member="Exiv2::StringValueBase::operator=" ref="63dbdd58d31e39e7803445931f18d701" args="(const StringValueBase &rhs)" -->
68
<a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#63dbdd58d31e39e7803445931f18d701">operator=</a> (const <a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> &rhs)</td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="281c13e6b4b440fa2eac1cc62cde3acd"></a><!-- doxytag: member="Exiv2::StringValueBase::operator=" ref="281c13e6b4b440fa2eac1cc62cde3acd" args="(const StringValueBase &rhs)" -->
61
<a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#281c13e6b4b440fa2eac1cc62cde3acd">operator=</a> (const <a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> &rhs)</td></tr>
70
63
<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <br></td></tr>
71
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e1a2e4e99a63eb1ef815317f012c57b"></a><!-- doxytag: member="Exiv2::StringValueBase::read" ref="7e1a2e4e99a63eb1ef815317f012c57b" args="(const std::string &buf)" -->
72
virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#7e1a2e4e99a63eb1ef815317f012c57b">read</a> (const std::string &buf)</td></tr>
64
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6882ba90138a30fcf2123c74f928a75e"></a><!-- doxytag: member="Exiv2::StringValueBase::read" ref="6882ba90138a30fcf2123c74f928a75e" args="(const std::string &buf)" -->
65
virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#6882ba90138a30fcf2123c74f928a75e">read</a> (const std::string &buf)</td></tr>
74
67
<tr><td class="mdescLeft"> </td><td class="mdescRight">Read the value from buf. This default implementation uses buf as it is. <br></td></tr>
75
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#b43f48f366770175d7a07ad229ebbd2d">read</a> (const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder=invalidByteOrder)</td></tr>
68
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#ae2b6c108c891670a4ee873946aedfea">read</a> (const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, long len, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder=invalidByteOrder)</td></tr>
77
<tr><td class="mdescLeft"> </td><td class="mdescRight">Read the value from a character buffer. <a href="#b43f48f366770175d7a07ad229ebbd2d"></a><br></td></tr>
70
<tr><td class="mdescLeft"> </td><td class="mdescRight">Read the value from a character buffer. <a href="#ae2b6c108c891670a4ee873946aedfea"></a><br></td></tr>
78
71
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
79
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a415b8fb5420125c8003870cb397f1b6"></a><!-- doxytag: member="Exiv2::StringValueBase::clone" ref="a415b8fb5420125c8003870cb397f1b6" args="() const " -->
80
<a class="el" href="classExiv2_1_1StringValueBase.html#690234b43e80adc70a6c7ee5106e5326">AutoPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#a415b8fb5420125c8003870cb397f1b6">clone</a> () const </td></tr>
72
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3b67027347c490c921060c1bbbe35f8"></a><!-- doxytag: member="Exiv2::StringValueBase::clone" ref="a3b67027347c490c921060c1bbbe35f8" args="() const" -->
73
<a class="el" href="classExiv2_1_1Value.html#0f62e585b82c97738858b743e60dff21">AutoPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#a3b67027347c490c921060c1bbbe35f8">clone</a> () const</td></tr>
82
75
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted. <br></td></tr>
83
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#68503471612daaf314f4b70e2216ef3b">copy</a> (<a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder=invalidByteOrder) const </td></tr>
76
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#202991e08046796657e14eb016757d56">copy</a> (<a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *buf, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder=invalidByteOrder) const</td></tr>
85
<tr><td class="mdescLeft"> </td><td class="mdescRight">Write value to a character data buffer. <a href="#68503471612daaf314f4b70e2216ef3b"></a><br></td></tr>
86
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cab779c35ec7636a52ce77ad52e95a42"></a><!-- doxytag: member="Exiv2::StringValueBase::count" ref="cab779c35ec7636a52ce77ad52e95a42" args="() const " -->
87
virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#cab779c35ec7636a52ce77ad52e95a42">count</a> () const </td></tr>
78
<tr><td class="mdescLeft"> </td><td class="mdescRight">Write value to a character data buffer. <a href="#202991e08046796657e14eb016757d56"></a><br></td></tr>
79
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a463b14ecd57f5f45e864c4c31ce1516"></a><!-- doxytag: member="Exiv2::StringValueBase::count" ref="a463b14ecd57f5f45e864c4c31ce1516" args="() const" -->
80
virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#a463b14ecd57f5f45e864c4c31ce1516">count</a> () const</td></tr>
89
82
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of components of the value. <br></td></tr>
90
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="893d78447a12cc30f1a2e5da2b1c9e7e"></a><!-- doxytag: member="Exiv2::StringValueBase::size" ref="893d78447a12cc30f1a2e5da2b1c9e7e" args="() const " -->
91
virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#893d78447a12cc30f1a2e5da2b1c9e7e">size</a> () const </td></tr>
83
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdf03548c974824ae53157ca3d6efd8e"></a><!-- doxytag: member="Exiv2::StringValueBase::size" ref="fdf03548c974824ae53157ca3d6efd8e" args="() const" -->
84
virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#fdf03548c974824ae53157ca3d6efd8e">size</a> () const</td></tr>
93
86
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the size of the value in bytes. <br></td></tr>
94
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#14727751ab89f415781402d9f3b087f1">toLong</a> (long n=0) const </td></tr>
96
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the n-th component of the value to a long. The behaviour of this method may be undefined if there is no n-th component. <a href="#14727751ab89f415781402d9f3b087f1"></a><br></td></tr>
97
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#5ebf7bd7e0077ac4ee517f72145fe711">toFloat</a> (long n=0) const </td></tr>
99
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the n-th component of the value to a float. The behaviour of this method may be undefined if there is no n-th component. <a href="#5ebf7bd7e0077ac4ee517f72145fe711"></a><br></td></tr>
100
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceExiv2.html#95756f3f7fa19103f83addf5fa088a30">Rational</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#d7ffbf58cb0496d3ad4b13e46ee8a29e">toRational</a> (long n=0) const </td></tr>
102
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined if there is no n-th component. <a href="#d7ffbf58cb0496d3ad4b13e46ee8a29e"></a><br></td></tr>
103
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd6e46c7dbd429b137494ef0329d7335"></a><!-- doxytag: member="Exiv2::StringValueBase::write" ref="cd6e46c7dbd429b137494ef0329d7335" args="(std::ostream &os) const " -->
104
virtual std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#cd6e46c7dbd429b137494ef0329d7335">write</a> (std::ostream &os) const </td></tr>
87
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#b02402d1d2c91f7aa38ca1edc2fe7664">toLong</a> (long n=0) const</td></tr>
89
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the n-th component of the value to a long. The behaviour of this method may be undefined if there is no n-th component. <a href="#b02402d1d2c91f7aa38ca1edc2fe7664"></a><br></td></tr>
90
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#7c515672cb1d6b1fddb10ca328c63dc8">toFloat</a> (long n=0) const</td></tr>
92
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the n-th component of the value to a float. The behaviour of this method may be undefined if there is no n-th component. <a href="#7c515672cb1d6b1fddb10ca328c63dc8"></a><br></td></tr>
93
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceExiv2.html#95756f3f7fa19103f83addf5fa088a30">Rational</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#cd31553093967446fde0e382cd2e48ed">toRational</a> (long n=0) const</td></tr>
95
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined if there is no n-th component. <a href="#cd31553093967446fde0e382cd2e48ed"></a><br></td></tr>
96
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b11ede405fee0bfb8d27acf6e03522c"></a><!-- doxytag: member="Exiv2::StringValueBase::write" ref="4b11ede405fee0bfb8d27acf6e03522c" args="(std::ostream &os) const" -->
97
virtual std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#4b11ede405fee0bfb8d27acf6e03522c">write</a> (std::ostream &os) const</td></tr>
106
99
<tr><td class="mdescLeft"> </td><td class="mdescRight">Write the value to an output stream. You do not usually have to use this function; it is used for the implementation of the output operator for Value, <a class="el" href="namespaceExiv2.html#be882054db13fc2f4f6f7e8e1261d982">operator<<(std::ostream &os, const Value &value)</a>. <br></td></tr>
107
100
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
108
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bcaab81321b73e00ae6062e0dee93e81"></a><!-- doxytag: member="Exiv2::StringValueBase::clone_" ref="bcaab81321b73e00ae6062e0dee93e81" args="() const =0" -->
109
virtual <a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#bcaab81321b73e00ae6062e0dee93e81">clone_</a> () const =0</td></tr>
101
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab8f966519670820fb2ffb9f511d2baf"></a><!-- doxytag: member="Exiv2::StringValueBase::clone_" ref="ab8f966519670820fb2ffb9f511d2baf" args="() const=0" -->
102
virtual <a class="el" href="classExiv2_1_1StringValueBase.html">StringValueBase</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1StringValueBase.html#ab8f966519670820fb2ffb9f511d2baf">clone_</a> () const=0</td></tr>
111
104
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal virtual copy constructor. <br></td></tr>
112
105
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
121
114
Uses a std::string to store the value and implements defaults for most operations.
123
116
<hr><h2>Member Function Documentation</h2>
124
<a class="anchor" name="68503471612daaf314f4b70e2216ef3b"></a><!-- doxytag: member="Exiv2::StringValueBase::copy" ref="68503471612daaf314f4b70e2216ef3b" args="(byte *buf, ByteOrder byteOrder=invalidByteOrder) const " --><p>
125
<table class="mdTable" cellpadding="2" cellspacing="0">
128
<table cellpadding="0" cellspacing="0" border="0">
130
<td class="md" nowrap valign="top">long Exiv2::StringValueBase::copy </td>
131
<td class="md" valign="top">( </td>
132
<td class="md" nowrap valign="top"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td>
133
<td class="mdname" nowrap> <em>buf</em>, </td>
136
<td class="md" nowrap align="right"></td>
138
<td class="md" nowrap><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td>
139
<td class="mdname" nowrap> <em>byteOrder</em> = <code>invalidByteOrder</code></td>
143
<td class="md">) </td>
144
<td class="md" colspan="2"> const<code> [virtual]</code></td>
150
<table cellspacing="5" cellpadding="0" border="0">
117
<a class="anchor" name="ae2b6c108c891670a4ee873946aedfea"></a><!-- doxytag: member="Exiv2::StringValueBase::read" ref="ae2b6c108c891670a4ee873946aedfea" args="(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)" -->
118
<div class="memitem">
119
<div class="memproto">
120
<table class="memname">
122
<td class="memname">virtual int Exiv2::StringValueBase::read </td>
124
<td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td>
125
<td class="paramname"> <em>buf</em>, </td>
128
<td class="paramkey"></td>
130
<td class="paramtype">long </td>
131
<td class="paramname"> <em>len</em>, </td>
134
<td class="paramkey"></td>
136
<td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td>
137
<td class="paramname"> <em>byteOrder</em> = <code>invalidByteOrder</code></td><td> </td>
142
<td></td><td></td><td width="100%"><code> [virtual]</code></td>
149
Read the value from a character buffer.
151
<dl class="note" compact><dt><b>Note:</b></dt><dd>The byte order is required by the interface but not used by this method, so just use the default.</dd></dl>
152
<dl compact><dt><b>Parameters:</b></dt><dd>
153
<table border="0" cellspacing="2" cellpadding="0">
154
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>Pointer to the data buffer to read from </td></tr>
155
<tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Number of bytes in the data buffer </td></tr>
156
<tr><td valign="top"></td><td valign="top"><em>byteOrder</em> </td><td>Byte order. Not needed.</td></tr>
159
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful. </dd></dl>
162
Implements <a class="el" href="classExiv2_1_1Value.html#cc8870f802ebcdf9d4e081816ad8956e">Exiv2::Value</a>.
165
<a class="anchor" name="202991e08046796657e14eb016757d56"></a><!-- doxytag: member="Exiv2::StringValueBase::copy" ref="202991e08046796657e14eb016757d56" args="(byte *buf, ByteOrder byteOrder=invalidByteOrder) const" -->
166
<div class="memitem">
167
<div class="memproto">
168
<table class="memname">
170
<td class="memname">virtual long Exiv2::StringValueBase::copy </td>
172
<td class="paramtype"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td>
173
<td class="paramname"> <em>buf</em>, </td>
176
<td class="paramkey"></td>
178
<td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td>
179
<td class="paramname"> <em>byteOrder</em> = <code>invalidByteOrder</code></td><td> </td>
184
<td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
158
191
Write value to a character data buffer.
160
193
The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour.<p>
161
<dl compact><dt><b>Note:</b></dt><dd>The byte order is required by the interface but not used by this method, so just use the default.</dd></dl>
194
<dl class="note" compact><dt><b>Note:</b></dt><dd>The byte order is required by the interface but not used by this method, so just use the default.</dd></dl>
162
195
<dl compact><dt><b>Parameters:</b></dt><dd>
163
196
<table border="0" cellspacing="2" cellpadding="0">
164
197
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>Data buffer to write to. </td></tr>
165
198
<tr><td valign="top"></td><td valign="top"><em>byteOrder</em> </td><td>Byte order. Not used. </td></tr>
168
<dl compact><dt><b>Returns:</b></dt><dd>Number of characters written. </dd></dl>
171
Implements <a class="el" href="classExiv2_1_1Value.html#3bf4f9c2eda4f7850a390de98668ce15">Exiv2::Value</a>. </td>
174
<a class="anchor" name="b43f48f366770175d7a07ad229ebbd2d"></a><!-- doxytag: member="Exiv2::StringValueBase::read" ref="b43f48f366770175d7a07ad229ebbd2d" args="(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)" --><p>
175
<table class="mdTable" cellpadding="2" cellspacing="0">
178
<table cellpadding="0" cellspacing="0" border="0">
180
<td class="md" nowrap valign="top">int Exiv2::StringValueBase::read </td>
181
<td class="md" valign="top">( </td>
182
<td class="md" nowrap valign="top">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td>
183
<td class="mdname" nowrap> <em>buf</em>, </td>
186
<td class="md" nowrap align="right"></td>
188
<td class="md" nowrap>long </td>
189
<td class="mdname" nowrap> <em>len</em>, </td>
192
<td class="md" nowrap align="right"></td>
194
<td class="md" nowrap><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td>
195
<td class="mdname" nowrap> <em>byteOrder</em> = <code>invalidByteOrder</code></td>
199
<td class="md">) </td>
200
<td class="md" colspan="2"><code> [virtual]</code></td>
206
<table cellspacing="5" cellpadding="0" border="0">
214
Read the value from a character buffer.
216
<dl compact><dt><b>Note:</b></dt><dd>The byte order is required by the interface but not used by this method, so just use the default.</dd></dl>
217
<dl compact><dt><b>Parameters:</b></dt><dd>
218
<table border="0" cellspacing="2" cellpadding="0">
219
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>Pointer to the data buffer to read from </td></tr>
220
<tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Number of bytes in the data buffer </td></tr>
221
<tr><td valign="top"></td><td valign="top"><em>byteOrder</em> </td><td>Byte order. Not needed.</td></tr>
224
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful. </dd></dl>
227
Implements <a class="el" href="classExiv2_1_1Value.html#cc8870f802ebcdf9d4e081816ad8956e">Exiv2::Value</a>. </td>
230
<a class="anchor" name="5ebf7bd7e0077ac4ee517f72145fe711"></a><!-- doxytag: member="Exiv2::StringValueBase::toFloat" ref="5ebf7bd7e0077ac4ee517f72145fe711" args="(long n=0) const " --><p>
231
<table class="mdTable" cellpadding="2" cellspacing="0">
234
<table cellpadding="0" cellspacing="0" border="0">
236
<td class="md" nowrap valign="top">virtual float Exiv2::StringValueBase::toFloat </td>
237
<td class="md" valign="top">( </td>
238
<td class="md" nowrap valign="top">long </td>
239
<td class="mdname1" valign="top" nowrap> <em>n</em> = <code>0</code> </td>
240
<td class="md" valign="top"> ) </td>
241
<td class="md" nowrap> const<code> [inline, virtual]</code></td>
247
<table cellspacing="5" cellpadding="0" border="0">
201
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of characters written. </dd></dl>
204
Implements <a class="el" href="classExiv2_1_1Value.html#712b88cbf8272da2f62483de8dc3519d">Exiv2::Value</a>.
207
<a class="anchor" name="b02402d1d2c91f7aa38ca1edc2fe7664"></a><!-- doxytag: member="Exiv2::StringValueBase::toLong" ref="b02402d1d2c91f7aa38ca1edc2fe7664" args="(long n=0) const" -->
208
<div class="memitem">
209
<div class="memproto">
210
<table class="memname">
212
<td class="memname">virtual long Exiv2::StringValueBase::toLong </td>
214
<td class="paramtype">long </td>
215
<td class="paramname"> <em>n</em> = <code>0</code> </td>
216
<td> ) </td>
217
<td width="100%"> const<code> [inline, virtual]</code></td>
224
Convert the n-th component of the value to a long. The behaviour of this method may be undefined if there is no n-th component.
226
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted value. </dd></dl>
229
Implements <a class="el" href="classExiv2_1_1Value.html#e764f3abd43f1eaeedaf85be9c4e45f4">Exiv2::Value</a>.
232
<a class="anchor" name="7c515672cb1d6b1fddb10ca328c63dc8"></a><!-- doxytag: member="Exiv2::StringValueBase::toFloat" ref="7c515672cb1d6b1fddb10ca328c63dc8" args="(long n=0) const" -->
233
<div class="memitem">
234
<div class="memproto">
235
<table class="memname">
237
<td class="memname">virtual float Exiv2::StringValueBase::toFloat </td>
239
<td class="paramtype">long </td>
240
<td class="paramname"> <em>n</em> = <code>0</code> </td>
241
<td> ) </td>
242
<td width="100%"> const<code> [inline, virtual]</code></td>
255
249
Convert the n-th component of the value to a float. The behaviour of this method may be undefined if there is no n-th component.
257
<dl compact><dt><b>Returns:</b></dt><dd>The converted value. </dd></dl>
260
Implements <a class="el" href="classExiv2_1_1Value.html#22d257caa6c1ffe6416ce02de7bd8c1c">Exiv2::Value</a>. </td>
263
<a class="anchor" name="14727751ab89f415781402d9f3b087f1"></a><!-- doxytag: member="Exiv2::StringValueBase::toLong" ref="14727751ab89f415781402d9f3b087f1" args="(long n=0) const " --><p>
264
<table class="mdTable" cellpadding="2" cellspacing="0">
267
<table cellpadding="0" cellspacing="0" border="0">
269
<td class="md" nowrap valign="top">virtual long Exiv2::StringValueBase::toLong </td>
270
<td class="md" valign="top">( </td>
271
<td class="md" nowrap valign="top">long </td>
272
<td class="mdname1" valign="top" nowrap> <em>n</em> = <code>0</code> </td>
273
<td class="md" valign="top"> ) </td>
274
<td class="md" nowrap> const<code> [inline, virtual]</code></td>
280
<table cellspacing="5" cellpadding="0" border="0">
288
Convert the n-th component of the value to a long. The behaviour of this method may be undefined if there is no n-th component.
290
<dl compact><dt><b>Returns:</b></dt><dd>The converted value. </dd></dl>
293
Implements <a class="el" href="classExiv2_1_1Value.html#4530a3fc3e2305cf994de5476f46f953">Exiv2::Value</a>. </td>
296
<a class="anchor" name="d7ffbf58cb0496d3ad4b13e46ee8a29e"></a><!-- doxytag: member="Exiv2::StringValueBase::toRational" ref="d7ffbf58cb0496d3ad4b13e46ee8a29e" args="(long n=0) const " --><p>
297
<table class="mdTable" cellpadding="2" cellspacing="0">
300
<table cellpadding="0" cellspacing="0" border="0">
302
<td class="md" nowrap valign="top">virtual <a class="el" href="namespaceExiv2.html#95756f3f7fa19103f83addf5fa088a30">Rational</a> Exiv2::StringValueBase::toRational </td>
303
<td class="md" valign="top">( </td>
304
<td class="md" nowrap valign="top">long </td>
305
<td class="mdname1" valign="top" nowrap> <em>n</em> = <code>0</code> </td>
306
<td class="md" valign="top"> ) </td>
307
<td class="md" nowrap> const<code> [inline, virtual]</code></td>
313
<table cellspacing="5" cellpadding="0" border="0">
251
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted value. </dd></dl>
254
Implements <a class="el" href="classExiv2_1_1Value.html#4b49aea294b66e6b5e5f083210273fde">Exiv2::Value</a>.
257
<a class="anchor" name="cd31553093967446fde0e382cd2e48ed"></a><!-- doxytag: member="Exiv2::StringValueBase::toRational" ref="cd31553093967446fde0e382cd2e48ed" args="(long n=0) const" -->
258
<div class="memitem">
259
<div class="memproto">
260
<table class="memname">
262
<td class="memname">virtual <a class="el" href="namespaceExiv2.html#95756f3f7fa19103f83addf5fa088a30">Rational</a> Exiv2::StringValueBase::toRational </td>
264
<td class="paramtype">long </td>
265
<td class="paramname"> <em>n</em> = <code>0</code> </td>
266
<td> ) </td>
267
<td width="100%"> const<code> [inline, virtual]</code></td>
321
274
Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined if there is no n-th component.
323
<dl compact><dt><b>Returns:</b></dt><dd>The converted value. </dd></dl>
276
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The converted value. </dd></dl>
326
Implements <a class="el" href="classExiv2_1_1Value.html#595a4cb549bec8c19d290ca3e95a2678">Exiv2::Value</a>. </td>
329
<hr>The documentation for this class was generated from the following files:<ul>
330
<li><a class="el" href="value_8hpp.html">value.hpp</a><li>value.cpp</ul>
331
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 2 23:55:39 2006 for Exiv2 by
279
Implements <a class="el" href="classExiv2_1_1Value.html#e633d9fc821a71dda86f37751c18c5d7">Exiv2::Value</a>.
282
<hr>The documentation for this class was generated from the following file:<ul>
283
<li><a class="el" href="value_8hpp.html">value.hpp</a></ul>
284
<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 27 20:16:37 2006 for Exiv2 by
332
285
<a href="http://www.doxygen.org/index.html">
333
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
286
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>