| Exiv2

Loading...
Searching...
No Matches
Public Types | List of all members
Exiv2::AsciiValue Class Reference

Value for an Ascii string type. More...

`#include <value.hpp>`

Inheritance diagram for Exiv2::AsciiValue:
[legend]

## Public Types
using | UniquePtr = std::unique_ptr<AsciiValue>
| Shortcut for a AsciiValue auto pointer.
Public Types inherited from Exiv2::StringValueBase
using | UniquePtr = std::unique_ptr<StringValueBase>
| Shortcut for a StringValueBase auto pointer.
Public Types inherited from Exiv2::Value
using | UniquePtr = std::unique_ptr<Value>
| Shortcut for a Value auto pointer.

## Public Member Functions
Creators
| AsciiValue ()
| Default constructor.
| AsciiValue (const std::string &buf)
| Constructor.
Manipulators
int | read (const std::string &buf) override
| Set the value to that of the string buf. Overrides base class to append a terminating '\0' character if buf doesn't end with '\0'.
int | read (const byte *buf, size_t len, ByteOrder byteOrder=invalidByteOrder) override
| Read the value from a character buffer.
Public Member Functions inherited from Exiv2::StringValueBase
| StringValueBase (TypeId typeId, const std::string &buf)
| Constructor for subclasses.
int | read (const std::string &buf) override
| Read the value from buf. This default implementation uses buf as it is.
int | read (const byte *buf, size_t len, ByteOrder byteOrder=invalidByteOrder) override
| Read the value from a character buffer.
UniquePtr | clone () const
size_t | copy (byte *buf, ByteOrder byteOrder=invalidByteOrder) const override
| Write value to a character data buffer.
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.
int64_t | toInt64 (size_t n=0) const override
| Convert the n-th component of the value to an int64_t. The behaviour of this method may be undefined if there is no n-th component.
uint32_t | toUint32 (size_t n=0) const override
| 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.
float | toFloat (size_t n=0) const override
| 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.
Rational | toRational (size_t n=0) const override
| 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.
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).
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
std::ostream & | write (std::ostream &os) const override
| Write the ASCII value up to the first '\0' character to an output stream. Any further characters are ignored and not written to the output stream.

## Additional Inherited Members
static UniquePtr | create (TypeId typeId)
| A (simple) factory to create a Value type.
std::string | value_
| Stores the string 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.
bool | ok_ {true}
| Indicates the status of the previous to<Type> conversion.

## Detailed Description

Value for an Ascii string type.

This class is for null terminated single byte Ascii strings. This class also ensures that the string is null terminated.

## Member Function Documentation

## ◆ read() [1/2]

int Exiv2::StringValueBase::read | ( | const byte * | buf,
|  | size_t | len,
|  | ByteOrder | byteOrder = invalidByteOrder )
| override virtual

Read the value from a character buffer.

Parameters

  buf | Pointer to the data buffer to read from
  len | Number of bytes in the data buffer
  byteOrder | Applicable byte order (little or big endian).

Returns
  0 if successful.

Implements Exiv2::Value.

## ◆ read() [2/2]

int Exiv2::AsciiValue::read | ( | const std::string & | buf | ) |
| override virtual

Set the value to that of the string buf. Overrides base class to append a terminating '\0' character if buf doesn't end with '\0'.

Implements Exiv2::Value.

References Exiv2::StringValueBase::value_.

## ◆ write()

std::ostream & Exiv2::AsciiValue::write | ( | std::ostream & | os | ) | const
| override virtual

Write the ASCII value up to the first '\0' character to an output stream. Any further characters are ignored and not written to the output stream.

Implements Exiv2::Value.

References Exiv2::StringValueBase::value_.

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

- value.hpp
- value.cpp