<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Exiv2: Exiv2::DateValue Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.4 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="nav"> <a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1DateValue.html">DateValue</a></div> <h1>Exiv2::DateValue Class Reference</h1><!-- doxytag: class="Exiv2::DateValue" --><!-- doxytag: inherits="Exiv2::Value" -->Value for simple ISO 8601 dates <a href="#_details">More...</a> <p> <code>#include <value.hpp></code> <p> <div class="dynheader"> Inheritance diagram for Exiv2::DateValue:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1DateValue__inherit__graph.png" border="0" usemap="#Exiv2_1_1DateValue__inherit__map" alt="Inheritance graph"></center> <map name="Exiv2_1_1DateValue__inherit__map"> <area shape="rect" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="25,7,167,31"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for Exiv2::DateValue:</div> <div class="dynsection"> <p><center><img src="classExiv2_1_1DateValue__coll__graph.png" border="0" usemap="#Exiv2_1_1DateValue__coll__map" alt="Collaboration graph"></center> <map name="Exiv2_1_1DateValue__coll__map"> <area shape="rect" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="5,6,147,30"><area shape="rect" href="structExiv2_1_1DateValue_1_1Date.html" title="Simple Date helper structure." alt="" coords="171,6,411,30"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classExiv2_1_1DateValue-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb4c3309897e696326e9cb55a8f6cb68"></a><!-- doxytag: member="Exiv2::DateValue::AutoPtr" ref="eb4c3309897e696326e9cb55a8f6cb68" args="" --> typedef std::auto_ptr< <a class="el" href="classExiv2_1_1DateValue.html">DateValue</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#eb4c3309897e696326e9cb55a8f6cb68">AutoPtr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for a DateValue auto pointer. <br></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c64871fa22e0b3af3819838d65dcc7a5"></a><!-- doxytag: member="Exiv2::DateValue::DateValue" ref="c64871fa22e0b3af3819838d65dcc7a5" args="()" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#c64871fa22e0b3af3819838d65dcc7a5">DateValue</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f337f8a13ff9656ff610398091d271cd"></a><!-- doxytag: member="Exiv2::DateValue::DateValue" ref="f337f8a13ff9656ff610398091d271cd" args="(int year, int month, int day)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#f337f8a13ff9656ff610398091d271cd">DateValue</a> (int year, int month, int day)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c33c577a2e833f9d8726fcaa21b5dac2"></a><!-- doxytag: member="Exiv2::DateValue::~DateValue" ref="c33c577a2e833f9d8726fcaa21b5dac2" args="()" --> virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#c33c577a2e833f9d8726fcaa21b5dac2">~DateValue</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual destructor. <br></td></tr> <tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#b4c990cb1e24751c786e26bac8272ce9">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> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read the value from a character buffer. <a href="#b4c990cb1e24751c786e26bac8272ce9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#a79469b67dd280fcab1186eb855573e1">read</a> (const std::string &buf)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the value to that of the string buf. <a href="#a79469b67dd280fcab1186eb855573e1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfb7f12fa25958b6d7ff3ca5912616ab"></a><!-- doxytag: member="Exiv2::DateValue::setDate" ref="dfb7f12fa25958b6d7ff3ca5912616ab" args="(const Date &src)" --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#dfb7f12fa25958b6d7ff3ca5912616ab">setDate</a> (const <a class="el" href="structExiv2_1_1DateValue_1_1Date.html">Date</a> &src)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the date. <br></td></tr> <tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85dd67fbbdded614b3c1d6383bec3e1e"></a><!-- doxytag: member="Exiv2::DateValue::clone" ref="85dd67fbbdded614b3c1d6383bec3e1e" args="() const " --> <a class="el" href="classExiv2_1_1Value.html#0f62e585b82c97738858b743e60dff21">AutoPtr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#85dd67fbbdded614b3c1d6383bec3e1e">clone</a> () const </td></tr> <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> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#e91aba1da3a8e8a05c3e9ef5af3a60d4">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> <tr><td class="mdescLeft"> </td><td class="mdescRight">Write value to a character data buffer. <a href="#e91aba1da3a8e8a05c3e9ef5af3a60d4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c35c777f6b3291353252a3af0e032a89"></a><!-- doxytag: member="Exiv2::DateValue::getDate" ref="c35c777f6b3291353252a3af0e032a89" args="() const " --> virtual const <a class="el" href="structExiv2_1_1DateValue_1_1Date.html">Date</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#c35c777f6b3291353252a3af0e032a89">getDate</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return date struct containing date information. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2283680f859bd8531436d7bd3fb268c4"></a><!-- doxytag: member="Exiv2::DateValue::count" ref="2283680f859bd8531436d7bd3fb268c4" args="() const " --> virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#2283680f859bd8531436d7bd3fb268c4">count</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of components of the value. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="275b3e15667f4db893f493362c853780"></a><!-- doxytag: member="Exiv2::DateValue::size" ref="275b3e15667f4db893f493362c853780" args="() const " --> virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#275b3e15667f4db893f493362c853780">size</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the size of the value in bytes. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd2859ec542ef7c656764d740497bdf2"></a><!-- doxytag: member="Exiv2::DateValue::write" ref="cd2859ec542ef7c656764d740497bdf2" args="(std::ostream &os) const " --> virtual std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#cd2859ec542ef7c656764d740497bdf2">write</a> (std::ostream &os) const </td></tr> <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" title="Output operator for Value types.">operator<<(std::ostream &os, const Value &value)</a>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4287bf69043707b49b73797e07a4c10a"></a><!-- doxytag: member="Exiv2::DateValue::toLong" ref="4287bf69043707b49b73797e07a4c10a" args="(long n=0) const " --> virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#4287bf69043707b49b73797e07a4c10a">toLong</a> (long n=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the value as a UNIX calender time converted to long. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e569670f2a52546812ca750cc7b1bb69"></a><!-- doxytag: member="Exiv2::DateValue::toFloat" ref="e569670f2a52546812ca750cc7b1bb69" args="(long n=0) const " --> virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#e569670f2a52546812ca750cc7b1bb69">toFloat</a> (long n=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the value as a UNIX calender time converted to float. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a4641ab53245fcd36531bcd92e80e32"></a><!-- doxytag: member="Exiv2::DateValue::toRational" ref="9a4641ab53245fcd36531bcd92e80e32" args="(long n=0) const " --> virtual <a class="el" href="namespaceExiv2.html#95756f3f7fa19103f83addf5fa088a30">Rational</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1DateValue.html#9a4641ab53245fcd36531bcd92e80e32">toRational</a> (long n=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the value as a UNIX calender time converted to Rational. <br></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structExiv2_1_1DateValue_1_1Date.html">Date</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Simple <a class="el" href="structExiv2_1_1DateValue_1_1Date.html" title="Simple Date helper structure.">Date</a> helper structure. <a href="structExiv2_1_1DateValue_1_1Date.html#_details">More...</a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Value for simple ISO 8601 dates <p> This class is limited to parsing simple date strings in the ISO 8601 format CCYYMMDD (century, year, month, day). <hr><h2>Member Function Documentation</h2> <a class="anchor" name="b4c990cb1e24751c786e26bac8272ce9"></a><!-- doxytag: member="Exiv2::DateValue::read" ref="b4c990cb1e24751c786e26bac8272ce9" args="(const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int Exiv2::DateValue::read </td> <td>(</td> <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td> <td class="paramname"> <em>byteOrder</em> = <code>invalidByteOrder</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Read the value from a character buffer. <p> <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> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>Pointer to the data buffer to read from </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>Number of bytes in the data buffer </td></tr> <tr><td valign="top"></td><td valign="top"><em>byteOrder</em> </td><td>Byte order. Not needed.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful<br> 1 in case of an unsupported date format </dd></dl> <p>Implements <a class="el" href="classExiv2_1_1Value.html#cc8870f802ebcdf9d4e081816ad8956e">Exiv2::Value</a>.</p> </div> </div><p> <a class="anchor" name="a79469b67dd280fcab1186eb855573e1"></a><!-- doxytag: member="Exiv2::DateValue::read" ref="a79469b67dd280fcab1186eb855573e1" args="(const std::string &buf)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int Exiv2::DateValue::read </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>buf</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the value to that of the string buf. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>String containing the date</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful<br> 1 in case of an unsupported date format </dd></dl> <p>Implements <a class="el" href="classExiv2_1_1Value.html#2864378d7572310aa5f4cf4127365862">Exiv2::Value</a>.</p> </div> </div><p> <a class="anchor" name="e91aba1da3a8e8a05c3e9ef5af3a60d4"></a><!-- doxytag: member="Exiv2::DateValue::copy" ref="e91aba1da3a8e8a05c3e9ef5af3a60d4" args="(byte *buf, ByteOrder byteOrder=invalidByteOrder) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual long Exiv2::DateValue::copy </td> <td>(</td> <td class="paramtype"><a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> </td> <td class="paramname"> <em>byteOrder</em> = <code>invalidByteOrder</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Write value to a character data buffer. <p> The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour.<p> <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> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>Data buffer to write to. </td></tr> <tr><td valign="top"></td><td valign="top"><em>byteOrder</em> </td><td>Byte order. Not used. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of characters written. </dd></dl> <p>Implements <a class="el" href="classExiv2_1_1Value.html#3bf4f9c2eda4f7850a390de98668ce15">Exiv2::Value</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="value_8hpp.html">value.hpp</a></ul> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:14 2008 for Exiv2 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address> </body> </html>