From 513b0e8bbd733baef942bca1ff57bc3566c3e7df Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 20 Mar 2023 23:26:39 -0700 Subject: [PATCH] constexpr some constructors Signed-off-by: Rosen Penev --- src/tiffcomposite_int.cpp | 21 --------------------- src/tiffcomposite_int.hpp | 24 ++++++++++++++++++------ src/tiffvisitor_int.cpp | 6 ------ src/tiffvisitor_int.hpp | 6 ++++-- 4 files changed, 22 insertions(+), 35 deletions(-) diff --git a/src/tiffcomposite_int.cpp b/src/tiffcomposite_int.cpp index c3e66aa0..80d625b7 100644 --- a/src/tiffcomposite_int.cpp +++ b/src/tiffcomposite_int.cpp @@ -59,31 +59,13 @@ void IoWrapper::setTarget(int id, size_t target) { pow_->setTarget(static_cast(id), static_cast(target)); } -TiffComponent::TiffComponent(uint16_t tag, IfdId group) : tag_(tag), group_(group) { -} - TiffDirectory::TiffDirectory(uint16_t tag, IfdId group, bool hasNext) : TiffComponent(tag, group), hasNext_(hasNext) { } -TiffEntryBase::TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType) : - TiffComponent(tag, group), tiffType_(tiffType) { -} - -TiffSizeEntry::TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) : - TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) { -} - -TiffEntry::TiffEntry(uint16_t tag, IfdId group) : TiffEntryBase(tag, group) { -} - TiffSubIfd::TiffSubIfd(uint16_t tag, IfdId group, IfdId newGroup) : TiffEntryBase(tag, group, ttUnsignedLong), newGroup_(newGroup) { } -TiffMnEntry::TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) : - TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup) { -} - TiffIfdMakernote::TiffIfdMakernote(uint16_t tag, IfdId group, IfdId mnGroup, MnHeader* pHeader, bool hasNext) : TiffComponent(tag, group), pHeader_(pHeader), ifd_(tag, mnGroup, hasNext) { } @@ -102,9 +84,6 @@ TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arra // We'll figure out the correct cfg later } -TiffPathItem::TiffPathItem(uint32_t extendedTag, IfdId group) : extendedTag_(extendedTag), group_(group) { -} - TiffDirectory::~TiffDirectory() { for (auto&& component : components_) { delete component; diff --git a/src/tiffcomposite_int.hpp b/src/tiffcomposite_int.hpp index cc889be2..f242f610 100644 --- a/src/tiffcomposite_int.hpp +++ b/src/tiffcomposite_int.hpp @@ -64,7 +64,8 @@ class TiffPathItem { //! @name Creators //@{ //! Constructor - TiffPathItem(uint32_t extendedTag, IfdId group); + constexpr TiffPathItem(uint32_t extendedTag, IfdId group) : extendedTag_(extendedTag), group_(group) { + } //@} //! @name Accessors @@ -158,7 +159,8 @@ class TiffComponent { //! @name Creators //@{ //! Constructor - TiffComponent(uint16_t tag, IfdId group); + constexpr TiffComponent(uint16_t tag, IfdId group) : tag_(tag), group_(group) { + } //! Virtual destructor. virtual ~TiffComponent() = default; TiffComponent(const TiffComponent&) = default; @@ -384,7 +386,10 @@ class TiffEntryBase : public TiffComponent { //! @name Creators //@{ //! Default constructor. - TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType = ttUndefined); + constexpr TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType = ttUndefined) : + TiffComponent(tag, group), tiffType_(tiffType) { + } + //! Virtual destructor. ~TiffEntryBase() override; //@} @@ -566,7 +571,8 @@ class TiffEntry : public TiffEntryBase { //! @name Creators //@{ //! Constructor - TiffEntry(uint16_t tag, IfdId group); + constexpr TiffEntry(uint16_t tag, IfdId group) : TiffEntryBase(tag, group) { + } //@} protected: @@ -779,7 +785,10 @@ class TiffSizeEntry : public TiffEntryBase { //! @name Creators //@{ //! Constructor - TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup); + constexpr TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) : + TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) { + } + //@} //! @name Accessors @@ -1011,7 +1020,10 @@ class TiffMnEntry : public TiffEntryBase { //! @name Creators //@{ //! Default constructor - TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup); + constexpr TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) : + TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup) { + } + //! Virtual destructor ~TiffMnEntry() override; //@} diff --git a/src/tiffvisitor_int.cpp b/src/tiffvisitor_int.cpp index b8aac960..5def1419 100644 --- a/src/tiffvisitor_int.cpp +++ b/src/tiffvisitor_int.cpp @@ -71,9 +71,6 @@ void TiffVisitor::visitIfdMakernoteEnd(TiffIfdMakernote* /*object*/) { void TiffVisitor::visitBinaryArrayEnd(TiffBinaryArray* /*object*/) { } -TiffFinder::TiffFinder(uint16_t tag, IfdId group) : tag_(tag), group_(group) { -} - void TiffFinder::init(uint16_t tag, IfdId group) { tag_ = tag; group_ = group; @@ -984,9 +981,6 @@ void TiffEncoder::add(TiffComponent* pRootDir, TiffComponent* pSourceDir, uint32 } // TiffEncoder::add -TiffRwState::TiffRwState(ByteOrder byteOrder, size_t baseOffset) : byteOrder_(byteOrder), baseOffset_(baseOffset) { -} - TiffReader::TiffReader(const byte* pData, size_t size, TiffComponent* pRoot, TiffRwState state) : pData_(pData), size_(size), pLast_(pData + size), pRoot_(pRoot), origState_(state), mnState_(state) { pState_ = &origState_; diff --git a/src/tiffvisitor_int.hpp b/src/tiffvisitor_int.hpp index 48138be6..74766dd3 100644 --- a/src/tiffvisitor_int.hpp +++ b/src/tiffvisitor_int.hpp @@ -130,7 +130,8 @@ class TiffFinder : public TiffVisitor { //! @name Creators //@{ //! Constructor, taking \em tag and \em group of the component to find. - TiffFinder(uint16_t tag, IfdId group); + constexpr TiffFinder(uint16_t tag, IfdId group) : tag_(tag), group_(group) { + } TiffFinder(const TiffFinder&) = delete; TiffFinder& operator=(const TiffFinder&) = delete; //! Virtual destructor @@ -537,7 +538,8 @@ class TiffRwState { //! @name Creators //@{ //! Constructor. - TiffRwState(ByteOrder byteOrder, size_t baseOffset); + constexpr TiffRwState(ByteOrder byteOrder, size_t baseOffset) : byteOrder_(byteOrder), baseOffset_(baseOffset) { + } //@} //! @name Accessors