diff --git a/include/exiv2/basicio.hpp b/include/exiv2/basicio.hpp index a96a166528..d8d9a05320 100644 --- a/include/exiv2/basicio.hpp +++ b/include/exiv2/basicio.hpp @@ -3,8 +3,6 @@ #ifndef EXIV2_BASICIO_HPP #define EXIV2_BASICIO_HPP -#include "config.h" - // ***************************************************************************** #include "exiv2lib_export.h" diff --git a/include/exiv2/bmffimage.hpp b/include/exiv2/bmffimage.hpp index 849d728747..a5d8c0425c 100644 --- a/include/exiv2/bmffimage.hpp +++ b/include/exiv2/bmffimage.hpp @@ -3,8 +3,6 @@ #ifndef EXIV2_BMFFIMAGE_HPP #define EXIV2_BMFFIMAGE_HPP -#include "config.h" - // ***************************************************************************** #include "exiv2lib_export.h" diff --git a/include/exiv2/exif.hpp b/include/exiv2/exif.hpp index 480c3f2185..0c3fc781f5 100644 --- a/include/exiv2/exif.hpp +++ b/include/exiv2/exif.hpp @@ -13,8 +13,6 @@ // ***************************************************************************** #include "exiv2lib_export.h" -#include "config.h" - // included header files #include "config.h" #include "metadatum.hpp" diff --git a/include/exiv2/image.hpp b/include/exiv2/image.hpp index 00bfe40c6c..456523b86a 100644 --- a/include/exiv2/image.hpp +++ b/include/exiv2/image.hpp @@ -3,8 +3,6 @@ #ifndef EXIV2_IMAGE_HPP #define EXIV2_IMAGE_HPP -#include "config.h" - // ***************************************************************************** #include "exiv2lib_export.h" diff --git a/src/bmffimage.cpp b/src/bmffimage.cpp index dae309dff1..6d33be0234 100644 --- a/src/bmffimage.cpp +++ b/src/bmffimage.cpp @@ -10,7 +10,6 @@ #include "futils.hpp" #include "image.hpp" #include "image_int.hpp" -#include "safe_op.hpp" #include "tiffcomposite_int.hpp" #include "tiffimage_int.hpp" #include "types.hpp" @@ -18,6 +17,7 @@ #ifdef EXV_HAVE_BROTLI #include // for JXL brob +#include "safe_op.hpp" #endif // + standard includes diff --git a/src/bmpimage.cpp b/src/bmpimage.cpp index c6681c9fa0..1b889ac2ec 100644 --- a/src/bmpimage.cpp +++ b/src/bmpimage.cpp @@ -7,6 +7,7 @@ #include "bmpimage.hpp" #include "basicio.hpp" +#include "config.h" #include "error.hpp" #include "futils.hpp" #include "image.hpp" diff --git a/src/convert.cpp b/src/convert.cpp index 3f4ed29dfa..1143a07db9 100644 --- a/src/convert.cpp +++ b/src/convert.cpp @@ -7,13 +7,11 @@ 20-May-08, vn: added actual conversion logic */ // ***************************************************************************** -#include "config.h" - // included header files #include "convert.hpp" +#include "config.h" #include "error.hpp" #include "exif.hpp" -#include "futils.hpp" #include "image_int.hpp" #include "iptc.hpp" #include "properties.hpp" @@ -25,6 +23,9 @@ #include #ifdef EXV_HAVE_ICONV +#ifndef SUPPRESS_WARNINGS +#include "futils.hpp" +#endif #include #elif defined _WIN32 #include diff --git a/src/cr2header_int.cpp b/src/cr2header_int.cpp index abb1cf6e45..b784defe81 100644 --- a/src/cr2header_int.cpp +++ b/src/cr2header_int.cpp @@ -2,11 +2,13 @@ #include "cr2header_int.hpp" +#include "tags.hpp" #include "tiffimage_int.hpp" #include "types.hpp" #include #include +#include namespace Exiv2::Internal { Cr2Header::Cr2Header(ByteOrder byteOrder) : TiffHeaderBase(42, 16, byteOrder, 0x00000010) { diff --git a/src/crwimage.cpp b/src/crwimage.cpp index a1acf6c7e5..a47b4f8a73 100644 --- a/src/crwimage.cpp +++ b/src/crwimage.cpp @@ -5,9 +5,8 @@ History: 28-Aug-05, ahu: created */ // included header files -#include "config.h" - #include "crwimage.hpp" +#include "config.h" #include "crwimage_int.hpp" #include "error.hpp" #include "futils.hpp" diff --git a/src/crwimage_int.cpp b/src/crwimage_int.cpp index 4ca559b543..aadd1a362d 100644 --- a/src/crwimage_int.cpp +++ b/src/crwimage_int.cpp @@ -1,9 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later - -#include "config.h" - -#include "canonmn_int.hpp" #include "crwimage_int.hpp" +#include "canonmn_int.hpp" +#include "config.h" #include "enforce.hpp" #include "error.hpp" #include "i18n.h" // NLS support. diff --git a/src/crwimage_int.hpp b/src/crwimage_int.hpp index e7025cf2cd..5cd355bab0 100644 --- a/src/crwimage_int.hpp +++ b/src/crwimage_int.hpp @@ -5,7 +5,6 @@ // ***************************************************************************** // included header files -#include "tags.hpp" #include "types.hpp" // + standard includes @@ -18,6 +17,8 @@ // ***************************************************************************** // namespace extensions namespace Exiv2 { +enum class IfdId : uint32_t; +class ExifData; class Image; namespace Internal { diff --git a/src/datasets.cpp b/src/datasets.cpp index 3d257b2208..551d0ad4c0 100644 --- a/src/datasets.cpp +++ b/src/datasets.cpp @@ -9,9 +9,8 @@ #include "datasets.hpp" #include "error.hpp" #include "i18n.h" // NLS support. -#include "types.hpp" - #include "image_int.hpp" +#include "types.hpp" #include diff --git a/src/easyaccess.cpp b/src/easyaccess.cpp index a6172b2395..bec58a9a79 100644 --- a/src/easyaccess.cpp +++ b/src/easyaccess.cpp @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later // included header files #include "easyaccess.hpp" + #include "utils.hpp" #include diff --git a/src/epsimage.cpp b/src/epsimage.cpp index d139fc12bc..af55f9c88b 100644 --- a/src/epsimage.cpp +++ b/src/epsimage.cpp @@ -8,11 +8,11 @@ */ // ***************************************************************************** // included header files -#include "config.h" +#include "epsimage.hpp" #include "basicio.hpp" +#include "config.h" #include "enforce.hpp" -#include "epsimage.hpp" #include "error.hpp" #include "futils.hpp" #include "image.hpp" diff --git a/src/fujimn_int.cpp b/src/fujimn_int.cpp index 7a3e25e671..e05d42f35d 100644 --- a/src/fujimn_int.cpp +++ b/src/fujimn_int.cpp @@ -10,6 +10,7 @@ // included header files #include "fujimn_int.hpp" #include "i18n.h" // NLS support. +#include "tags.hpp" #include "tags_int.hpp" #include "types.hpp" diff --git a/src/http.cpp b/src/http.cpp index 6a93026e8a..486883f0a9 100644 --- a/src/http.cpp +++ b/src/http.cpp @@ -1,9 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later +#include "http.hpp" #include "config.h" - #include "futils.hpp" -#include "http.hpp" #include #include diff --git a/src/image_int.cpp b/src/image_int.cpp index 255015bf6b..6ae8f92189 100644 --- a/src/image_int.cpp +++ b/src/image_int.cpp @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - #include "image_int.hpp" #include diff --git a/src/iptc.cpp b/src/iptc.cpp index 6066cc2785..da1d0f5826 100644 --- a/src/iptc.cpp +++ b/src/iptc.cpp @@ -1,10 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - // included header files #include "iptc.hpp" - +#include "config.h" #include "datasets.hpp" #include "enforce.hpp" #include "error.hpp" diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp index 5863d6bf97..723acff68a 100644 --- a/src/jpgimage.cpp +++ b/src/jpgimage.cpp @@ -1,17 +1,15 @@ // SPDX-License-Identifier: GPL-2.0-or-later // included header files +#include "jpgimage.hpp" #include "config.h" - #include "enforce.hpp" #include "error.hpp" #include "futils.hpp" #include "helper_functions.hpp" #include "i18n.h" // NLS support. #include "image_int.hpp" -#include "jpgimage.hpp" #include "photoshop.hpp" -#include "safe_op.hpp" #include "tags_int.hpp" #include diff --git a/src/makernote_int.cpp b/src/makernote_int.cpp index 84fdf0736e..bdb1ada678 100644 --- a/src/makernote_int.cpp +++ b/src/makernote_int.cpp @@ -5,9 +5,8 @@ History: 11-Apr-06, ahu: created */ // included header files -#include "config.h" - #include "makernote_int.hpp" +#include "config.h" #include "safe_op.hpp" #include "tiffcomposite_int.hpp" #include "tiffimage_int.hpp" diff --git a/src/makernote_int.hpp b/src/makernote_int.hpp index 6b948874e6..5bdfa46582 100644 --- a/src/makernote_int.hpp +++ b/src/makernote_int.hpp @@ -5,12 +5,14 @@ // ***************************************************************************** // included header files -#include "tags.hpp" +#include "types.hpp" #include // namespace extensions -namespace Exiv2::Internal { +namespace Exiv2 { +enum class IfdId : uint32_t; +namespace Internal { class IoWrapper; class TiffComponent; // ***************************************************************************** @@ -673,6 +675,7 @@ int nikonSelector(uint16_t tag, const byte* pData, size_t size, TiffComponent* p */ DataBuf nikonCrypt(uint16_t tag, const byte* pData, size_t size, TiffComponent* pRoot); -} // namespace Exiv2::Internal +} // namespace Internal +} // namespace Exiv2 #endif // EXIV2_MAKERNOTE_INT_HPP diff --git a/src/matroskavideo.cpp b/src/matroskavideo.cpp index 3c74841ebf..7359130e98 100644 --- a/src/matroskavideo.cpp +++ b/src/matroskavideo.cpp @@ -19,14 +19,13 @@ */ // ***************************************************************************** // included header files -#include "config.h" - +#include "matroskavideo.hpp" #include "basicio.hpp" +#include "config.h" #include "enforce.hpp" #include "error.hpp" #include "futils.hpp" #include "helper_functions.hpp" -#include "matroskavideo.hpp" // + standard includes #include diff --git a/src/nikonmn_int.cpp b/src/nikonmn_int.cpp index c8674e14ef..d4b5593416 100644 --- a/src/nikonmn_int.cpp +++ b/src/nikonmn_int.cpp @@ -1,10 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - // included header files #include "nikonmn_int.hpp" - +#include "config.h" #include "exif.hpp" #include "i18n.h" // NLS support. #include "image_int.hpp" diff --git a/src/olympusmn_int.cpp b/src/olympusmn_int.cpp index e03f262684..4329d53917 100644 --- a/src/olympusmn_int.cpp +++ b/src/olympusmn_int.cpp @@ -12,8 +12,6 @@ #include "utils.hpp" #include "value.hpp" -#include - // ***************************************************************************** // class member definitions namespace Exiv2::Internal { diff --git a/src/pgfimage.cpp b/src/pgfimage.cpp index 1657ed4014..e54d3a78d7 100644 --- a/src/pgfimage.cpp +++ b/src/pgfimage.cpp @@ -11,7 +11,6 @@ #include "image.hpp" #include -#include #ifdef EXIV2_DEBUG_MESSAGES #include diff --git a/src/pngchunk_int.cpp b/src/pngchunk_int.cpp index 975fbb524c..3169438b20 100644 --- a/src/pngchunk_int.cpp +++ b/src/pngchunk_int.cpp @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later // included header files +#include "pngchunk_int.hpp" #include "config.h" #ifdef EXV_HAVE_LIBZ @@ -14,7 +15,6 @@ #include "image_int.hpp" #include "iptc.hpp" #include "photoshop.hpp" -#include "pngchunk_int.hpp" #include "safe_op.hpp" #include "tiffimage.hpp" diff --git a/src/pngchunk_int.hpp b/src/pngchunk_int.hpp index 51e1ee50b0..432dec1dd2 100644 --- a/src/pngchunk_int.hpp +++ b/src/pngchunk_int.hpp @@ -5,11 +5,15 @@ // ***************************************************************************** // included header files -#include "pngimage.hpp" +#include "types.hpp" // ***************************************************************************** // namespace extensions -namespace Exiv2::Internal { +namespace Exiv2 { +struct DataBuf; +class Image; +class PngImage; +namespace Internal { // ***************************************************************************** // class definitions @@ -136,6 +140,7 @@ class PngChunk { }; // class PngChunk -} // namespace Exiv2::Internal +} // namespace Internal +} // namespace Exiv2 #endif // #ifndef PNGCHUNK_INT_HPP_ diff --git a/src/properties.cpp b/src/properties.cpp index b68d6eb601..29586672ea 100644 --- a/src/properties.cpp +++ b/src/properties.cpp @@ -1,13 +1,12 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - // included header files #include "properties.hpp" - +#include "config.h" #include "error.hpp" #include "i18n.h" // NLS support. #include "image_int.hpp" +#include "tags.hpp" #include "tags_int.hpp" #include "types.hpp" #include "value.hpp" diff --git a/src/quicktimevideo.cpp b/src/quicktimevideo.cpp index 365472f68c..583f595937 100644 --- a/src/quicktimevideo.cpp +++ b/src/quicktimevideo.cpp @@ -19,16 +19,15 @@ */ // ***************************************************************************** // included header files -#include "config.h" - +#include "quicktimevideo.hpp" #include "basicio.hpp" +#include "config.h" #include "enforce.hpp" #include "error.hpp" #include "futils.hpp" #include "helper_functions.hpp" #include "image_int.hpp" #include "properties.hpp" -#include "quicktimevideo.hpp" #include "safe_op.hpp" #include "tags.hpp" #include "tags_int.hpp" diff --git a/src/riffvideo.cpp b/src/riffvideo.cpp index f90d2f09bf..e8b52f1c94 100644 --- a/src/riffvideo.cpp +++ b/src/riffvideo.cpp @@ -8,6 +8,7 @@ // included header files #include "riffvideo.hpp" +#include "config.h" #include "enforce.hpp" #include "error.hpp" #include "futils.hpp" diff --git a/src/sonymn_int.hpp b/src/sonymn_int.hpp index 6c2621b172..d2e6be1210 100644 --- a/src/sonymn_int.hpp +++ b/src/sonymn_int.hpp @@ -9,7 +9,11 @@ // ***************************************************************************** // namespace extensions -namespace Exiv2::Internal { +namespace Exiv2 { +class ExifData; +class Value; +struct TagInfo; +namespace Internal { // ***************************************************************************** // class definitions @@ -125,6 +129,7 @@ class SonyMakerNote { DataBuf sonyTagDecipher(uint16_t, const byte*, size_t, TiffComponent*); DataBuf sonyTagEncipher(uint16_t, const byte*, size_t, TiffComponent*); -} // namespace Exiv2::Internal +} // namespace Internal +} // namespace Exiv2 #endif // #ifndef SONYMN_INT_HPP_ diff --git a/src/tags_int.cpp b/src/tags_int.cpp index 021bca91d2..1cad89d8e6 100644 --- a/src/tags_int.cpp +++ b/src/tags_int.cpp @@ -6,6 +6,7 @@ #include "convert.hpp" #include "enforce.hpp" #include "i18n.h" // NLS support. +#include "tags.hpp" #include "canonmn_int.hpp" #include "casiomn_int.hpp" diff --git a/src/tags_int.hpp b/src/tags_int.hpp index 36ac87b59d..02f9ddc849 100644 --- a/src/tags_int.hpp +++ b/src/tags_int.hpp @@ -5,7 +5,8 @@ // ***************************************************************************** // included header files -#include "tags.hpp" +#include "types.hpp" +#include "value.hpp" #include "i18n.h" @@ -13,8 +14,11 @@ // namespace extensions namespace Exiv2 { +enum class IfdId : uint32_t; +enum class SectionId; class ExifData; -class Value; +struct GroupInfo; +struct TagInfo; namespace Internal { // ***************************************************************************** diff --git a/src/tiffcomposite_int.cpp b/src/tiffcomposite_int.cpp index 3ab2d659cb..90150bfeb1 100644 --- a/src/tiffcomposite_int.cpp +++ b/src/tiffcomposite_int.cpp @@ -1,10 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later // included header files -#include "config.h" - #include "tiffcomposite_int.hpp" - #include "basicio.hpp" +#include "config.h" #include "enforce.hpp" #include "error.hpp" #include "image_int.hpp" @@ -95,6 +93,25 @@ TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arra // We'll figure out the correct cfg later } +TiffBinaryArray::TiffBinaryArray(const TiffBinaryArray& rhs) : + TiffEntryBase(rhs), + cfgSelFct_(rhs.cfgSelFct_), + arraySet_(rhs.arraySet_), + arrayCfg_(rhs.arrayCfg_), + arrayDef_(rhs.arrayDef_), + defSize_(rhs.defSize_), + setSize_(rhs.setSize_), + origData_(rhs.origData_), + origSize_(rhs.origSize_), + pRoot_(rhs.pRoot_) { +} + +TiffEntryBase::TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType) : + TiffComponent(tag, group), tiffType_(tiffType) { +} + +TiffEntryBase::~TiffEntryBase() = default; + TiffEntryBase::TiffEntryBase(const TiffEntryBase& rhs) : TiffComponent(rhs), tiffType_(rhs.tiffType_), @@ -113,17 +130,18 @@ TiffDirectory::TiffDirectory(const TiffDirectory& rhs) : TiffComponent(rhs), has TiffSubIfd::TiffSubIfd(const TiffSubIfd& rhs) : TiffEntryBase(rhs), newGroup_(rhs.newGroup_) { } -TiffBinaryArray::TiffBinaryArray(const TiffBinaryArray& rhs) : - TiffEntryBase(rhs), - cfgSelFct_(rhs.cfgSelFct_), - arraySet_(rhs.arraySet_), - arrayCfg_(rhs.arrayCfg_), - arrayDef_(rhs.arrayDef_), - defSize_(rhs.defSize_), - setSize_(rhs.setSize_), - origData_(rhs.origData_), - origSize_(rhs.origSize_), - pRoot_(rhs.pRoot_) { +TiffDataEntryBase::TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) : + TiffEntryBase(tag, group), szTag_(szTag), szGroup_(szGroup) { +} + +TiffDataEntryBase::~TiffDataEntryBase() = default; + +TiffSizeEntry::TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) : + TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) { +} + +TiffMnEntry::TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) : + TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup) { } TiffComponent::UniquePtr TiffComponent::clone() const { diff --git a/src/tiffcomposite_int.hpp b/src/tiffcomposite_int.hpp index 420d1076ca..7bbd3d3aff 100644 --- a/src/tiffcomposite_int.hpp +++ b/src/tiffcomposite_int.hpp @@ -13,6 +13,7 @@ // namespace extensions namespace Exiv2 { class BasicIo; +class Value; namespace Internal { // ***************************************************************************** @@ -383,12 +384,10 @@ class TiffEntryBase : public TiffComponent { //! @name Creators //@{ //! Default constructor. - constexpr TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType = ttUndefined) : - TiffComponent(tag, group), tiffType_(tiffType) { - } + TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType = ttUndefined); //! Virtual destructor. - ~TiffEntryBase() override = default; + ~TiffEntryBase() override; //@} //! @name NOT implemented @@ -593,9 +592,7 @@ class TiffDataEntryBase : public TiffEntryBase { //! @name Creators //@{ //! Constructor - constexpr TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) : - TiffEntryBase(tag, group), szTag_(szTag), szGroup_(szGroup) { - } + TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup); //@} ~TiffDataEntryBase() override; @@ -777,10 +774,7 @@ class TiffSizeEntry : public TiffEntryBase { //! @name Creators //@{ //! Constructor - constexpr TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) : - TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) { - } - + TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup); //@} //! @name Accessors @@ -1012,9 +1006,7 @@ class TiffMnEntry : public TiffEntryBase { //! @name Creators //@{ //! Default constructor - constexpr TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) : - TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup) { - } + TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup); protected: //! @name Protected Manipulators diff --git a/src/tifffwd_int.hpp b/src/tifffwd_int.hpp index c14f756a48..a8083c8fe3 100644 --- a/src/tifffwd_int.hpp +++ b/src/tifffwd_int.hpp @@ -5,7 +5,7 @@ // ***************************************************************************** // included header files -#include "tags.hpp" +#include "types.hpp" // + standard includes #include @@ -16,6 +16,7 @@ // ***************************************************************************** // Exiv2 namespace extensions namespace Exiv2 { +enum class IfdId : uint32_t; class Exifdatum; namespace Internal { diff --git a/src/tiffimage_int.cpp b/src/tiffimage_int.cpp index 60bc023959..e472d991e1 100644 --- a/src/tiffimage_int.cpp +++ b/src/tiffimage_int.cpp @@ -1,15 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - +#include "tiffimage_int.hpp" #include "basicio.hpp" +#include "config.h" #include "error.hpp" #include "i18n.h" // NLS support. #include "image_int.hpp" #include "makernote_int.hpp" #include "sonymn_int.hpp" #include "tiffcomposite_int.hpp" -#include "tiffimage_int.hpp" #include "tiffvisitor_int.hpp" #ifdef EXIV2_DEBUG_MESSAGES @@ -25,6 +24,9 @@ #define EXV_COMPLEX_BINARY_ARRAY(arraySet, cfgSelFct) &newTiffBinaryArray2 namespace Exiv2::Internal { +bool FindExifdatum::operator()(const Exiv2::Exifdatum& md) const { + return ifdId_ == md.ifdId(); +} //! Constant for non-encrypted binary arrays constexpr CryptFct notEncrypted = nullptr; diff --git a/src/tiffimage_int.hpp b/src/tiffimage_int.hpp index c7586dbfb6..f4bf05e508 100644 --- a/src/tiffimage_int.hpp +++ b/src/tiffimage_int.hpp @@ -5,15 +5,16 @@ // ***************************************************************************** // included header files -#include "exif.hpp" #include "tifffwd_int.hpp" +#include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { class BasicIo; +class ExifData; class IptcData; class XmpData; @@ -348,9 +349,7 @@ class FindExifdatum { explicit FindExifdatum(Exiv2::IfdId ifdId) : ifdId_(ifdId) { } //! Returns true if IFD id matches. - bool operator()(const Exiv2::Exifdatum& md) const { - return ifdId_ == md.ifdId(); - } + bool operator()(const Exiv2::Exifdatum& md) const; private: Exiv2::IfdId ifdId_; diff --git a/src/tiffvisitor_int.cpp b/src/tiffvisitor_int.cpp index 9f3b769917..2469f2e97c 100644 --- a/src/tiffvisitor_int.cpp +++ b/src/tiffvisitor_int.cpp @@ -1,10 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - // included header files #include "tiffvisitor_int.hpp" // see bug #487 +#include "config.h" #include "enforce.hpp" #include "exif.hpp" #include "image_int.hpp" @@ -344,8 +343,6 @@ static const TagInfo* findTag(const TagInfo* pList, uint16_t tag) { return pList->tag_ != 0xffff ? pList : nullptr; } -TiffDataEntryBase::~TiffDataEntryBase() = default; - void TiffDecoder::decodeCanonAFInfo(const TiffEntryBase* object) { // report Exif.Canon.AFInfo as usual TiffDecoder::decodeStdTiffEntry(object); diff --git a/src/types.cpp b/src/types.cpp index e40430e92f..cb110c26bb 100644 --- a/src/types.cpp +++ b/src/types.cpp @@ -1,13 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - // included header files #include "types.hpp" - +#include "config.h" #include "enforce.hpp" -#include "futils.hpp" -#include "i18n.h" // for _exvGettext #include "utils.hpp" // + standard includes @@ -18,10 +14,12 @@ #include #include +#ifdef EXV_ENABLE_NLS +#include "futils.hpp" + #include namespace fs = std::filesystem; -#ifdef EXV_ENABLE_NLS #include #endif diff --git a/src/value.cpp b/src/value.cpp index 2c01fee9b4..db0ae1603c 100644 --- a/src/value.cpp +++ b/src/value.cpp @@ -1,16 +1,13 @@ // SPDX-License-Identifier: GPL-2.0-or-later -#include "config.h" - // included header files #include "value.hpp" - +#include "config.h" #include "convert.hpp" #include "enforce.hpp" #include "error.hpp" -#include "types.hpp" - #include "image_int.hpp" +#include "types.hpp" // + standard includes #include diff --git a/src/version.cpp b/src/version.cpp index 42a5303724..e0b888a503 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -1,25 +1,23 @@ // SPDX-License-Identifier: GPL-2.0-or-later +#include "version.hpp" #include "config.h" - -#ifdef EXV_USE_CURL -#include -#endif - #include "futils.hpp" #include "makernote_int.hpp" -#include "version.hpp" + +// + standard includes +#include +#include +#include // Adobe XMP Toolkit #ifdef EXV_HAVE_XMP_TOOLKIT #include "properties.hpp" -#include "xmp_exiv2.hpp" #endif -// + standard includes -#include -#include -#include +#ifdef EXV_USE_CURL +#include +#endif // #1147 #ifndef _WIN32 diff --git a/src/xmp.cpp b/src/xmp.cpp index 1a92dc9ac7..79859ca824 100644 --- a/src/xmp.cpp +++ b/src/xmp.cpp @@ -6,7 +6,6 @@ #include "error.hpp" #include "properties.hpp" #include "types.hpp" -#include "utils.hpp" #include "value.hpp" #include "xmp_exiv2.hpp" @@ -17,6 +16,7 @@ // Adobe XMP Toolkit #ifdef EXV_HAVE_XMP_TOOLKIT #include +#include "utils.hpp" #define TXMP_STRING_TYPE std::string #ifdef EXV_ADOBE_XMPSDK #include