# Exiv2::TimeValue Class Reference

Value for simple ISO 8601 times. More...

`#include <value.hpp>`

Inheritance diagram for Exiv2::TimeValue:

[legend]
Collaboration diagram for Exiv2::TimeValue:

[legend]
List of all members.

## Public Types

typedef std::auto_ptr< TimeValue > | AutoPtr
| Shortcut for a TimeValue 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.
Manipulators
TimeValue & | operator= (const TimeValue &rhs)
| Assignment operator.
virtual void | read (const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder)
| Read the value from a character buffer.
virtual void | read (const std::string &buf)
| Set the value to that of the string buf.
void | setTime (const Time &src)
| Set the time.
Accessors
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.
virtual long | copy (byte *buf, ByteOrder byteOrder=invalidByteOrder) const
| Write value to a character data buffer.
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. .
virtual long | toLong (long n=0) const
| 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.
virtual float | toFloat (long n=0) const
| 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.
virtual Rational | toRational (long n=0) const
| 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.

## Classes

struct | Time
| Simple Time helper structure. More...

## Detailed Description

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.

## Member Function Documentation

long Exiv2::TimeValue::copy | ( | byte * | buf,
|  | ByteOrder | byteOrder = `invalidByteOrder`
| ) | const`[virtual]`

Write value to a character data buffer.

The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour.

Note:
  The byte order is required by the interface but not used by this method, so just use the default.

Parameters:

  | buf | Data buffer to write to.
  | byteOrder | Byte order. Not used.

Returns:
  Number of characters written.

Implements Exiv2::Value.

void Exiv2::TimeValue::read | ( | const std::string & | buf | ) | `[virtual]`

Set the value to that of the string buf.

Parameters:

  | buf | String containing the time.

Exceptions:

  | Error | in case of an unsupported time format

Implements Exiv2::Value.

void Exiv2::TimeValue::read | ( | const byte * | buf,
|  | long | len,
|  | ByteOrder | byteOrder = `invalidByteOrder`
| ) | `[virtual]`

Read the value from a character buffer.

Note:
  The byte order is required by the interface but not used by this method, so just use the default.

Parameters:

  | buf | Pointer to the data buffer to read from
  | len | Number of bytes in the data buffer
  | byteOrder | Byte order. Not needed.

Exceptions:

  | Error | in case of an unsupported time format

Implements Exiv2::Value.

virtual float Exiv2::TimeValue::toFloat | ( | long | n = `0` | ) | const`[inline, virtual]`

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.

Returns:
  The converted value.

Implements Exiv2::Value.

long Exiv2::TimeValue::toLong | ( | long | n = `0` | ) | const`[virtual]`

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.

Returns:
  The converted value.

Implements Exiv2::Value.

virtual Rational Exiv2::TimeValue::toRational | ( | long | n = `0` | ) | const`[inline, virtual]`

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.

Returns:
  The converted value.

Implements Exiv2::Value.

The documentation for this class was generated from the following files:

- value.hpp
- value.cpp