![]() |
Exiv2
|
Value for simple ISO 8601 times. More...
#include <value.hpp>
Classes | |
struct | Time |
Simple Time helper structure. More... | |
Public Types | |
typedef std::auto_ptr< TimeValue > | AutoPtr |
Shortcut for a TimeValue auto pointer. | |
![]() | |
typedef std::auto_ptr< Value > | AutoPtr |
Shortcut for a Value auto pointer. | |
Public Member Functions | |
Creators | |
TimeValue () | |
Default constructor. | |
TimeValue (int hour, int minute, int second=0, int tzHour=0, int tzMinute=0) | |
Constructor. | |
virtual | ~TimeValue () |
Virtual destructor. | |
![]() | |
Value (TypeId typeId) | |
Constructor, taking a type id to initialize the base class with. | |
virtual | ~Value () |
Virtual destructor. | |
virtual int | setDataArea (const byte *buf, long len) |
Set the data area, if the value has one by copying (cloning) the buffer pointed to by buf. More... | |
TypeId | typeId () const |
Return the type identifier (Exif data format type). | |
AutoPtr | clone () const |
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. | |
std::string | toString () const |
Return the value as a string. Implemented in terms of write(std::ostream& os) const of the concrete class. | |
virtual std::string | toString (long n) const |
Return the n-th component of the value as a string. The default implementation returns toString(). The behaviour of this method may be undefined if there is no n-th component. | |
virtual long | sizeDataArea () const |
Return the size of the data area, 0 if there is none. | |
virtual DataBuf | dataArea () const |
Return a copy of the data area if the value has one. The caller owns this copy and DataBuf ensures that it will be deleted. More... | |
bool | ok () const |
Check the ok status indicator. After a to<Type> conversion, this indicator shows whether the conversion was successful. | |
Manipulators | |
virtual int | read (const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder) |
Read the value from a character buffer. More... | |
virtual int | read (const std::string &buf) |
Set the value to that of the string buf. More... | |
void | setTime (const Time &src) |
Set the time. | |
Accessors | |
AutoPtr | clone () const |
virtual long | copy (byte *buf, ByteOrder byteOrder=invalidByteOrder) const |
Write value to a character data buffer. More... | |
virtual const Time & | getTime () const |
Return time struct containing time information. | |
virtual long | count () const |
Return the number of components of the value. | |
virtual long | size () const |
Return the size of the value in bytes. | |
virtual std::ostream & | write (std::ostream &os) const |
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, operator<<(std::ostream &os, const Value &value). | |
virtual long | toLong (long n=0) const |
Returns number of seconds in the day in UTC. | |
virtual float | toFloat (long n=0) const |
Returns number of seconds in the day in UTC converted to float. | |
virtual Rational | toRational (long n=0) const |
Returns number of seconds in the day in UTC converted to Rational. | |
Additional Inherited Members | |
![]() | |
static AutoPtr | create (TypeId typeId) |
A (simple) factory to create a Value type. More... | |
![]() | |
Value & | operator= (const Value &rhs) |
Assignment operator. Protected so that it can only be used by subclasses but not directly. | |
![]() | |
bool | ok_ |
Indicates the status of the previous to<Type> conversion. | |
Value for simple ISO 8601 times.
This class is limited to handling simple time strings in the ISO 8601 format HHMMSS±HHMM where HHMMSS refers to local hour, minute and seconds and ±HHMM refers to hours and minutes ahead or behind Universal Coordinated Time.
Write value to a character data buffer.
The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour.
buf | Data buffer to write to. |
byteOrder | Byte order. Not used. |
Implements Exiv2::Value.
References Safe::abs(), enforce(), Exiv2::TimeValue::Time::hour, Exiv2::TimeValue::Time::minute, Exiv2::TimeValue::Time::second, Exiv2::TimeValue::Time::tzHour, and Exiv2::TimeValue::Time::tzMinute.
|
virtual |
Read the value from a character buffer.
buf | Pointer to the data buffer to read from |
len | Number of bytes in the data buffer |
byteOrder | Byte order. Not needed. |
Implements Exiv2::Value.
References EXV_WARNING.
|
virtual |
Set the value to that of the string buf.
buf | String containing the time. |
Implements Exiv2::Value.
References EXV_WARNING.