Skip to content

Commit 7b78672

Browse files
committed
uninline constexpr constructors
Signed-off-by: Rosen Penev <[email protected]>
1 parent 4cfbb30 commit 7b78672

File tree

3 files changed

+36
-27
lines changed

3 files changed

+36
-27
lines changed

src/tiffcomposite_int.cpp

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,25 @@ TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arra
9393
// We'll figure out the correct cfg later
9494
}
9595

96+
TiffBinaryArray::TiffBinaryArray(const TiffBinaryArray& rhs) :
97+
TiffEntryBase(rhs),
98+
cfgSelFct_(rhs.cfgSelFct_),
99+
arraySet_(rhs.arraySet_),
100+
arrayCfg_(rhs.arrayCfg_),
101+
arrayDef_(rhs.arrayDef_),
102+
defSize_(rhs.defSize_),
103+
setSize_(rhs.setSize_),
104+
origData_(rhs.origData_),
105+
origSize_(rhs.origSize_),
106+
pRoot_(rhs.pRoot_) {
107+
}
108+
109+
TiffEntryBase::TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType) :
110+
TiffComponent(tag, group), tiffType_(tiffType) {
111+
}
112+
113+
TiffEntryBase::~TiffEntryBase() = default;
114+
96115
TiffEntryBase::TiffEntryBase(const TiffEntryBase& rhs) :
97116
TiffComponent(rhs),
98117
tiffType_(rhs.tiffType_),
@@ -111,17 +130,18 @@ TiffDirectory::TiffDirectory(const TiffDirectory& rhs) : TiffComponent(rhs), has
111130
TiffSubIfd::TiffSubIfd(const TiffSubIfd& rhs) : TiffEntryBase(rhs), newGroup_(rhs.newGroup_) {
112131
}
113132

114-
TiffBinaryArray::TiffBinaryArray(const TiffBinaryArray& rhs) :
115-
TiffEntryBase(rhs),
116-
cfgSelFct_(rhs.cfgSelFct_),
117-
arraySet_(rhs.arraySet_),
118-
arrayCfg_(rhs.arrayCfg_),
119-
arrayDef_(rhs.arrayDef_),
120-
defSize_(rhs.defSize_),
121-
setSize_(rhs.setSize_),
122-
origData_(rhs.origData_),
123-
origSize_(rhs.origSize_),
124-
pRoot_(rhs.pRoot_) {
133+
TiffDataEntryBase::TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) :
134+
TiffEntryBase(tag, group), szTag_(szTag), szGroup_(szGroup) {
135+
}
136+
137+
TiffDataEntryBase::~TiffDataEntryBase() = default;
138+
139+
TiffSizeEntry::TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) :
140+
TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) {
141+
}
142+
143+
TiffMnEntry::TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) :
144+
TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup) {
125145
}
126146

127147
TiffComponent::UniquePtr TiffComponent::clone() const {

src/tiffcomposite_int.hpp

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -384,12 +384,10 @@ class TiffEntryBase : public TiffComponent {
384384
//! @name Creators
385385
//@{
386386
//! Default constructor.
387-
constexpr TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType = ttUndefined) :
388-
TiffComponent(tag, group), tiffType_(tiffType) {
389-
}
387+
TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType = ttUndefined);
390388

391389
//! Virtual destructor.
392-
~TiffEntryBase() override = default;
390+
~TiffEntryBase() override;
393391
//@}
394392

395393
//! @name NOT implemented
@@ -594,9 +592,7 @@ class TiffDataEntryBase : public TiffEntryBase {
594592
//! @name Creators
595593
//@{
596594
//! Constructor
597-
constexpr TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) :
598-
TiffEntryBase(tag, group), szTag_(szTag), szGroup_(szGroup) {
599-
}
595+
TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup);
600596
//@}
601597

602598
~TiffDataEntryBase() override;
@@ -778,10 +774,7 @@ class TiffSizeEntry : public TiffEntryBase {
778774
//! @name Creators
779775
//@{
780776
//! Constructor
781-
constexpr TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) :
782-
TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) {
783-
}
784-
777+
TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup);
785778
//@}
786779

787780
//! @name Accessors
@@ -1013,9 +1006,7 @@ class TiffMnEntry : public TiffEntryBase {
10131006
//! @name Creators
10141007
//@{
10151008
//! Default constructor
1016-
constexpr TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) :
1017-
TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup) {
1018-
}
1009+
TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup);
10191010

10201011
protected:
10211012
//! @name Protected Manipulators

src/tiffvisitor_int.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,8 +343,6 @@ static const TagInfo* findTag(const TagInfo* pList, uint16_t tag) {
343343
return pList->tag_ != 0xffff ? pList : nullptr;
344344
}
345345

346-
TiffDataEntryBase::~TiffDataEntryBase() = default;
347-
348346
void TiffDecoder::decodeCanonAFInfo(const TiffEntryBase* object) {
349347
// report Exif.Canon.AFInfo as usual
350348
TiffDecoder::decodeStdTiffEntry(object);

0 commit comments

Comments
 (0)