31#include "exiv2lib_export.h"
69 const Value* pValue =0);
84 Iptcdatum& operator=(
const uint16_t& value);
89 Iptcdatum& operator=(
const std::string& value);
104 int setValue(
const std::string& value);
109 long copy(
byte* buf,
ByteOrder byteOrder)
const;
110 std::ostream& write(std::ostream& os,
const ExifData* pMetadata =0)
const;
117 std::string key()
const;
122 std::string recordName()
const;
127 uint16_t record()
const;
128 const char* familyName()
const;
134 std::string tagName()
const;
135 std::string tagLabel()
const;
137 uint16_t tag()
const;
139 const char* typeName()
const;
140 long typeSize()
const;
145 long toLong(
long n =0)
const;
146 float toFloat(
long n =0)
const;
147 Rational toRational(
long n =0)
const;
149 const Value& value()
const;
192 Iptcdatum& operator[](
const std::string& key);
218 void clear() { iptcMetadata_.clear(); }
231 iterator findKey(
const IptcKey& key);
236 iterator findId(uint16_t dataset,
237 uint16_t record = IptcDataSets::application2);
250 const_iterator findKey(
const IptcKey& key)
const;
255 const_iterator findId(uint16_t dataset,
256 uint16_t record = IptcDataSets::application2)
const;
258 bool empty()
const {
return count() == 0; }
260 long count()
const {
return static_cast<long>(iptcMetadata_.size()); }
268 const char *detectCharset()
const;
272 static void printStructure(std::ostream& out,
const Slice<byte*>& bytes,uint32_t depth);
317 static const byte marker_;
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition types.hpp:204
A container for Exif data. This is a top-level class of the Exiv2 library. The container holds Exifda...
Definition exif.hpp:434
A container for IPTC data. This is a top-level class of the Exiv2 library.
Definition iptc.hpp:173
iterator begin()
Begin of the metadata.
Definition iptc.hpp:224
IptcMetadata::iterator iterator
IptcMetadata iterator type.
Definition iptc.hpp:176
const_iterator begin() const
Begin of the metadata.
Definition iptc.hpp:243
bool empty() const
Return true if there is no IPTC metadata.
Definition iptc.hpp:258
const_iterator end() const
End of the metadata.
Definition iptc.hpp:245
iterator end()
End of the metadata.
Definition iptc.hpp:226
IptcMetadata::const_iterator const_iterator
IptcMetadata const iterator type.
Definition iptc.hpp:178
long count() const
Get the number of metadata entries.
Definition iptc.hpp:260
void clear()
Delete all Iptcdatum instances resulting in an empty container.
Definition iptc.hpp:218
Concrete keys for IPTC metadata.
Definition datasets.hpp:275
std::auto_ptr< IptcKey > AutoPtr
Shortcut for an IptcKey auto pointer.
Definition datasets.hpp:278
Stateless parser class for IPTC data. Images use this class to decode and encode binary IPTC data.
Definition iptc.hpp:284
An IPTC metadatum ("dataset"), consisting of an IptcKey and a Value and methods to manipulate these.
Definition iptc.hpp:52
Common interface for all types of values used with metadata.
Definition value.hpp:60
std::auto_ptr< Value > AutoPtr
Shortcut for a Value auto pointer.
Definition value.hpp:63
IPTC dataset and type information.
const char * groupName(IfdId ifdId)
Return the group name for a group id.
Definition tags_int.cpp:2158
Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of ...
Definition asfvideo.hpp:36
T getValue(const byte *buf, ByteOrder byteOrder)
Read a value of type T from the data buffer.
TypeId
Exiv2 value type identifiers.
Definition types.hpp:130
std::vector< Iptcdatum > IptcMetadata
Container type to hold all metadata.
Definition iptc.hpp:160
ByteOrder
Type to express the byte order (little or big endian)
Definition types.hpp:113
std::pair< int32_t, int32_t > Rational
8 byte signed rational type.
Definition types.hpp:110
Exiv2::Exifdatum & setValue(Exiv2::Exifdatum &exifDatum, const T &value)
Set the value of exifDatum to value. If the object already has a value, it is replaced....
Definition exif.cpp:193
std::string toString(const T &arg)
Utility function to convert the argument of any type to a string.
Definition types.hpp:521
Slice (= view) for STL containers.
Definition slice.hpp:530