Abstract base class for a string based Value type. More...
#include <value.hpp>
Public Types | |
typedef std::auto_ptr < StringValueBase > | AutoPtr |
Shortcut for a StringValueBase auto pointer. | |
Public Member Functions | |
Creators | |
StringValueBase (TypeId typeId) | |
Constructor for subclasses. | |
StringValueBase (TypeId typeId, const std::string &buf) | |
Constructor for subclasses. | |
StringValueBase (const StringValueBase &rhs) | |
Copy constructor. | |
virtual | ~StringValueBase () |
Virtual destructor. | |
Manipulators | |
virtual int | read (const std::string &buf) |
Read the value from buf. This default implementation uses buf as it is. | |
virtual int | read (const byte *buf, long len, ByteOrder byteOrder=invalidByteOrder) |
Read the value from a character buffer. | |
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 long | count () const |
Return the number of components of the value. | |
virtual long | size () const |
Return the size of the value in bytes. | |
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. | |
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). | |
Public Attributes | |
std::string | value_ |
Stores the string value. | |
Protected Member Functions | |
StringValueBase & | operator= (const StringValueBase &rhs) |
Assignment operator. | |
virtual StringValueBase * | clone_ () const =0 |
Internal virtual copy constructor. |
Abstract base class for a string based Value type.
Uses a std::string to store the value and implements defaults for most operations.
long Exiv2::StringValueBase::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.
buf | Data buffer to write to. | |
byteOrder | Byte order. Not used. |
Implements Exiv2::Value.
References value_.
int Exiv2::StringValueBase::read | ( | const byte * | buf, | |
long | len, | |||
ByteOrder | byteOrder = invalidByteOrder | |||
) | [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 Exiv2::string, and value_.
float Exiv2::StringValueBase::toFloat | ( | long | n = 0 |
) | const [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.
Implements Exiv2::Value.
References Exiv2::Value::ok_, and value_.
long Exiv2::StringValueBase::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.
Implements Exiv2::Value.
References Exiv2::Value::ok_, and value_.
Rational Exiv2::StringValueBase::toRational | ( | long | n = 0 |
) | const [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.
Implements Exiv2::Value.
References Exiv2::Value::ok_, and value_.