![]() |
Exiv2
|
Value for simple ISO 8601 dates More...
#include <value.hpp>

Classes | |
| struct | Date |
| Simple Date helper structure. More... | |
Public Types | |
| using | UniquePtr = std::unique_ptr< DateValue > |
| Shortcut for a DateValue auto pointer. | |
Public Types inherited from Exiv2::Value | |
| using | UniquePtr = std::unique_ptr< Value > |
| Shortcut for a Value auto pointer. | |
Public Member Functions | |
Creators | |
| DateValue () | |
| Default constructor. | |
| DateValue (int32_t year, int32_t month, int32_t day) | |
| Constructor. | |
Manipulators | |
| int | read (const byte *buf, size_t len, ByteOrder byteOrder=invalidByteOrder) override |
| int | read (const std::string &buf) override |
| Set the value to that of the string buf. | |
| void | setDate (const Date &src) |
| Set the date. | |
Public Member Functions inherited from Exiv2::Value | |
| Value (TypeId typeId) | |
| Constructor, taking a type id to initialize the base class with. | |
| virtual | ~Value ()=default |
| Virtual destructor. | |
| virtual int | setDataArea (const byte *buf, size_t len) |
| Set the data area, if the value has one by copying (cloning) the buffer pointed to by buf. | |
| TypeId | typeId () const |
| Return the type identifier (Exif data format type). | |
| UniquePtr | 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 (size_t 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 size_t | 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. | |
| bool | ok () const |
| Check the ok status indicator. After a to<Type> conversion, this indicator shows whether the conversion was successful. | |
Accessors | |
| UniquePtr | clone () const |
| size_t | copy (byte *buf, ByteOrder byteOrder=invalidByteOrder) const override |
| Write value to a character data buffer. | |
| virtual const Date & | getDate () const |
| Return date struct containing date information. | |
| size_t | count () const override |
| Return the number of components of the value. | |
| size_t | size () const override |
| Return the size of the value in bytes. | |
| std::ostream & | write (std::ostream &os) const override |
| 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). | |
| int64_t | toInt64 (size_t n=0) const override |
| Return the value as a UNIX calendar time converted to int64_t. | |
| uint32_t | toUint32 (size_t n=0) const override |
| Return the value as a UNIX calendar time converted to uint32_t. | |
| float | toFloat (size_t n=0) const override |
| Return the value as a UNIX calendar time converted to float. | |
| Rational | toRational (size_t n=0) const override |
| Return the value as a UNIX calendar time converted to Rational. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Exiv2::Value | |
| static UniquePtr | create (TypeId typeId) |
| A (simple) factory to create a Value type. | |
Protected Member Functions inherited from Exiv2::Value | |
| Value (const Value &)=default | |
| Value & | operator= (const Value &)=default |
| Assignment operator. Protected so that it can only be used by subclasses but not directly. | |
Protected Attributes inherited from Exiv2::Value | |
| bool | ok_ {true} |
| Indicates the status of the previous to<Type> conversion. | |
Value for simple ISO 8601 dates
This class is limited to parsing simple date strings in the ISO 8601 format CCYYMMDD (century, year, month, day).
|
overridevirtual |
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 Exiv2::DateValue::Date::day, Exiv2::DateValue::Date::month, and Exiv2::DateValue::Date::year.
|
overridevirtual |
Return the number of components of the value.
Implements Exiv2::Value.
References size().
Referenced by read().
|
overridevirtual |
Implements Exiv2::Value.
References read().
Referenced by read().
|
overridevirtual |
Set the value to that of the string buf.
| buf | String containing the date |
Implements Exiv2::Value.
References count(), Exiv2::DateValue::Date::day, EXV_WARNING, Exiv2::DateValue::Date::month, and Exiv2::DateValue::Date::year.
|
overridevirtual |
|
overridevirtual |
Return the value as a UNIX calendar time converted to float.
Implements Exiv2::Value.
References toInt64().
|
overridevirtual |
Return the value as a UNIX calendar time converted to int64_t.
Implements Exiv2::Value.
References Exiv2::DateValue::Date::day, Exiv2::DateValue::Date::month, Exiv2::Value::ok_, and Exiv2::DateValue::Date::year.
Referenced by toFloat(), toRational(), and toUint32().
|
overridevirtual |
Return the value as a UNIX calendar time converted to Rational.
Implements Exiv2::Value.
References Exiv2::Value::ok_, and toInt64().
|
overridevirtual |
Return the value as a UNIX calendar time converted to uint32_t.
Implements Exiv2::Value.
References Exiv2::Value::ok_, and toInt64().
|
overridevirtual |
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).
Implements Exiv2::Value.
References Exiv2::DateValue::Date::day, Exiv2::DateValue::Date::month, and Exiv2::DateValue::Date::year.