diff --git a/include/exiv2/exif.hpp b/include/exiv2/exif.hpp index 31322730..71a73de3 100644 --- a/include/exiv2/exif.hpp +++ b/include/exiv2/exif.hpp @@ -35,7 +35,6 @@ #include "tags.hpp" #include "value.hpp" #include "types.hpp" -#include "tags_int.hpp" // + standard includes #include @@ -249,47 +248,7 @@ namespace Exiv2 { @return true if it can be ignored, false otherwise. */ - bool ignore(void) const - { - bool bRet = false; - - const Value &v = value(); - if (v.count() > 0) - { - const TagInfo* ti = Internal::tagInfo(tag(), static_cast(ifdId())); - if (ti && ti->hasUndefined_) - { - const Value &udv = ti->undefValue_; - if ((udv.count() != 0)) - { - switch (ti->compT_) - { - case TagInfo::String: - { - bRet = compare(v.toString(), udv.toString(), ti->compO_); - break; - } - case TagInfo::Long: - { - bRet = compare(v.toLong(), udv.toLong(), ti->compO_); - break; - } - case TagInfo::Float: - { - bRet = compare(v.toFloat(), udv.toFloat(), ti->compO_); - break; - } - case TagInfo::Rational: - { - bRet = compare(v.toRational(), udv.toRational(), ti->compO_); - break; - } - } - } - } - } - return bRet; - } + bool ignore(void) const; //! Return the size of the data area. long sizeDataArea() const; /*! diff --git a/src/exif.cpp b/src/exif.cpp index d7f5ad04..9c1c2cf7 100644 --- a/src/exif.cpp +++ b/src/exif.cpp @@ -417,7 +417,49 @@ namespace Exiv2 { return value_.get() == 0 ? Value::AutoPtr(0) : value_->clone(); } - long Exifdatum::sizeDataArea() const + bool Exifdatum::ignore(void) const + { + bool bRet = false; + + const Value &v = value(); + if (v.count() > 0) + { + const TagInfo* ti = Internal::tagInfo(tag(), static_cast(ifdId())); + if (ti && ti->hasUndefined_) + { + const Value &udv = ti->undefValue_; + if ((udv.count() != 0)) + { + switch (ti->compT_) + { + case TagInfo::String: + { + bRet = compare(v.toString(), udv.toString(), ti->compO_); + break; + } + case TagInfo::Long: + { + bRet = compare(v.toLong(), udv.toLong(), ti->compO_); + break; + } + case TagInfo::Float: + { + bRet = compare(v.toFloat(), udv.toFloat(), ti->compO_); + break; + } + case TagInfo::Rational: + { + bRet = compare(v.toRational(), udv.toRational(), ti->compO_); + break; + } + } + } + } + } + return bRet; + } + + long Exifdatum::sizeDataArea() const { return value_.get() == 0 ? 0 : value_->sizeDataArea(); }