|
|
@ -42,6 +42,8 @@
|
|
|
|
#include <cstring>
|
|
|
|
#include <cstring>
|
|
|
|
#include <climits>
|
|
|
|
#include <climits>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// *****************************************************************************
|
|
|
|
// *****************************************************************************
|
|
|
|
// namespace extensions
|
|
|
|
// namespace extensions
|
|
|
|
namespace Exiv2 {
|
|
|
|
namespace Exiv2 {
|
|
|
@ -60,7 +62,8 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API Value {
|
|
|
|
class EXIV2API Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %Value auto pointer.
|
|
|
|
//! Shortcut for a %Value auto pointer.
|
|
|
|
typedef std::auto_ptr<Value> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
typedef Auto_Ptr<Value> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -262,7 +265,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API DataValue : public Value {
|
|
|
|
class EXIV2API DataValue : public Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %DataValue auto pointer.
|
|
|
|
//! Shortcut for a %DataValue auto pointer.
|
|
|
|
typedef std::auto_ptr<DataValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<DataValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
explicit DataValue(TypeId typeId =undefined);
|
|
|
|
explicit DataValue(TypeId typeId =undefined);
|
|
|
|
|
|
|
|
|
|
|
@ -344,7 +347,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API StringValueBase : public Value {
|
|
|
|
class EXIV2API StringValueBase : public Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %StringValueBase auto pointer.
|
|
|
|
//! Shortcut for a %StringValueBase auto pointer.
|
|
|
|
typedef std::auto_ptr<StringValueBase> AutoPtr;
|
|
|
|
typedef Auto_Ptr<StringValueBase> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -426,7 +429,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API StringValue : public StringValueBase {
|
|
|
|
class EXIV2API StringValue : public StringValueBase {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %StringValue auto pointer.
|
|
|
|
//! Shortcut for a %StringValue auto pointer.
|
|
|
|
typedef std::auto_ptr<StringValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<StringValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -458,7 +461,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API AsciiValue : public StringValueBase {
|
|
|
|
class EXIV2API AsciiValue : public StringValueBase {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %AsciiValue auto pointer.
|
|
|
|
//! Shortcut for a %AsciiValue auto pointer.
|
|
|
|
typedef std::auto_ptr<AsciiValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<AsciiValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -546,7 +549,7 @@ namespace Exiv2 {
|
|
|
|
}; // class CharsetInfo
|
|
|
|
}; // class CharsetInfo
|
|
|
|
|
|
|
|
|
|
|
|
//! Shortcut for a %CommentValue auto pointer.
|
|
|
|
//! Shortcut for a %CommentValue auto pointer.
|
|
|
|
typedef std::auto_ptr<CommentValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<CommentValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -633,7 +636,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API XmpValue : public Value {
|
|
|
|
class EXIV2API XmpValue : public Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %XmpValue auto pointer.
|
|
|
|
//! Shortcut for a %XmpValue auto pointer.
|
|
|
|
typedef std::auto_ptr<XmpValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<XmpValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! XMP array types.
|
|
|
|
//! XMP array types.
|
|
|
|
enum XmpArrayType { xaNone, xaAlt, xaBag, xaSeq };
|
|
|
|
enum XmpArrayType { xaNone, xaAlt, xaBag, xaSeq };
|
|
|
@ -724,7 +727,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API XmpTextValue : public XmpValue {
|
|
|
|
class EXIV2API XmpTextValue : public XmpValue {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %XmpTextValue auto pointer.
|
|
|
|
//! Shortcut for a %XmpTextValue auto pointer.
|
|
|
|
typedef std::auto_ptr<XmpTextValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<XmpTextValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -806,7 +809,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API XmpArrayValue : public XmpValue {
|
|
|
|
class EXIV2API XmpArrayValue : public XmpValue {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %XmpArrayValue auto pointer.
|
|
|
|
//! Shortcut for a %XmpArrayValue auto pointer.
|
|
|
|
typedef std::auto_ptr<XmpArrayValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<XmpArrayValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -899,7 +902,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API LangAltValue : public XmpValue {
|
|
|
|
class EXIV2API LangAltValue : public XmpValue {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %LangAltValue auto pointer.
|
|
|
|
//! Shortcut for a %LangAltValue auto pointer.
|
|
|
|
typedef std::auto_ptr<LangAltValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<LangAltValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -987,7 +990,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API DateValue : public Value {
|
|
|
|
class EXIV2API DateValue : public Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %DateValue auto pointer.
|
|
|
|
//! Shortcut for a %DateValue auto pointer.
|
|
|
|
typedef std::auto_ptr<DateValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<DateValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -1088,7 +1091,7 @@ namespace Exiv2 {
|
|
|
|
class EXIV2API TimeValue : public Value {
|
|
|
|
class EXIV2API TimeValue : public Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %TimeValue auto pointer.
|
|
|
|
//! Shortcut for a %TimeValue auto pointer.
|
|
|
|
typedef std::auto_ptr<TimeValue> AutoPtr;
|
|
|
|
typedef Auto_Ptr<TimeValue> AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
@ -1244,7 +1247,7 @@ namespace Exiv2 {
|
|
|
|
class ValueType : public Value {
|
|
|
|
class ValueType : public Value {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
//! Shortcut for a %ValueType\<T\> auto pointer.
|
|
|
|
//! Shortcut for a %ValueType\<T\> auto pointer.
|
|
|
|
typedef std::auto_ptr<ValueType<T> > AutoPtr;
|
|
|
|
typedef Auto_Ptr<ValueType<T> > AutoPtr;
|
|
|
|
|
|
|
|
|
|
|
|
//! @name Creators
|
|
|
|
//! @name Creators
|
|
|
|
//@{
|
|
|
|
//@{
|
|
|
|