constexpr some constructors

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2023-03-20 23:26:39 -07:00
parent 0aed79ff57
commit 513b0e8bbd
4 changed files with 22 additions and 35 deletions

View File

@ -59,31 +59,13 @@ void IoWrapper::setTarget(int id, size_t target) {
pow_->setTarget(static_cast<OffsetWriter::OffsetId>(id), static_cast<uint32_t>(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;

View File

@ -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;
//@}

View File

@ -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_;

View File

@ -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