Bug #629

Virtual functions should not be inlined

Added by Andreas Huggel about 8 years ago. Updated over 7 years ago.

Status:ClosedStart date:30 Apr 2009
Priority:NormalDue date:
Assignee:-% Done:

100%

Category:-
Target version:0.19

Description

as this seems to create occasional obscure issues, see eg, bug #627

(Hint: use the doxygen documentation to find them)


Related issues

Related to Exiv2 - Bug #627: typeId methods not available, -fvisibility-inlines-hidden Closed 17 Apr 2009

Associated revisions

Revision 1798
Added by Andreas Huggel about 8 years ago

#629: Made inlined virtual functions non-inlined. Also some non-virtual inlined functions. Part 1.

Revision 1801
Added by Andreas Huggel about 8 years ago

#629: Cleaned-up a few more virtual inlined methods.

History

#1 Updated by Andreas Huggel about 8 years ago

grep '\[inline, virtual\]' -members.html | sed 's,^.*href="\(.\).html#[0-9a-f]*">\(.*\)</a>(.*$,\1::\2,' | sed 's/^class//' | sed 's/_1_1/::/g' | sort | uniq
Action::Adjust-members.html: <tr bgcolor="#f0f0f0"><td><b>~Adjust</b>() (defined in <a class="el" href="classAction::Adjust.html">Action::Adjust</a>)</td><td><a class="el" href="classAction::Adjust.html">Action::Adjust</a></td><td> [inline, virtual]</td></tr>
Action::Erase-members.html: <tr bgcolor="#f0f0f0"><td><b>~Erase</b>() (defined in <a class="el" href="classAction::Erase.html">Action::Erase</a>)</td><td><a class="el" href="classAction::Erase.html">Action::Erase</a></td><td> [inline, virtual]</td></tr>
Action::Extract-members.html: <tr bgcolor="#f0f0f0"><td><b>~Extract</b>() (defined in <a class="el" href="classAction::Extract.html">Action::Extract</a>)</td><td><a class="el" href="classAction::Extract.html">Action::Extract</a></td><td> [inline, virtual]</td></tr>
Action::FixIso-members.html: <tr bgcolor="#f0f0f0"><td><b>~FixIso</b>() (defined in <a class="el" href="classAction::FixIso.html">Action::FixIso</a>)</td><td><a class="el" href="classAction::FixIso.html">Action::FixIso</a></td><td> [inline, virtual]</td></tr>
Action::Insert-members.html: <tr bgcolor="#f0f0f0"><td><b>~Insert</b>() (defined in <a class="el" href="classAction::Insert.html">Action::Insert</a>)</td><td><a class="el" href="classAction::Insert.html">Action::Insert</a></td><td> [inline, virtual]</td></tr>
Action::Modify-members.html: <tr bgcolor="#f0f0f0"><td><b>~Modify</b>() (defined in <a class="el" href="classAction::Modify.html">Action::Modify</a>)</td><td><a class="el" href="classAction::Modify.html">Action::Modify</a></td><td> [inline, virtual]</td></tr>
Action::Print-members.html: <tr bgcolor="#f0f0f0"><td><b>~Print</b>() (defined in <a class="el" href="classAction::Print.html">Action::Print</a>)</td><td><a class="el" href="classAction::Print.html">Action::Print</a></td><td> [inline, virtual]</td></tr>
Action::Rename-members.html: <tr bgcolor="#f0f0f0"><td><b>~Rename</b>() (defined in <a class="el" href="classAction::Rename.html">Action::Rename</a>)</td><td><a class="el" href="classAction::Rename.html">Action::Rename</a></td><td> [inline, virtual]</td></tr>
Action::Task::~Task
Exiv2::AnyError::~AnyError
Exiv2::AsciiValue::~AsciiValue
Exiv2::BasicIo::~BasicIo
Exiv2::BmpImage::mimeType
Exiv2::CommentValue::~CommentValue
Exiv2::Cr2Image::mimeType
Exiv2::CrwImage::mimeType
Exiv2::DataValue::count
Exiv2::DateValue::count
Exiv2::DateValue::~DateValue
Exiv2::DateValue::getDate
Exiv2::DateValue::toFloat
Exiv2::DateValue::toRational
Exiv2::Error::code
Exiv2::Error::~Error
Exiv2::Error::what
Exiv2::Exifdatum::copy
Exiv2::Exifdatum::count
Exiv2::Exifdatum::familyName
Exiv2::Exifdatum::getValue
Exiv2::Exifdatum::groupName
Exiv2::Exifdatum::key
Exiv2::Exifdatum::size
Exiv2::Exifdatum::tag
Exiv2::Exifdatum::tagLabel
Exiv2::Exifdatum::tagName
Exiv2::Exifdatum::toFloat
Exiv2::Exifdatum::toLong
Exiv2::Exifdatum::toRational
Exiv2::Exifdatum::toString
Exiv2::Exifdatum::typeId
Exiv2::Exifdatum::typeName
Exiv2::Exifdatum::typeSize
Exiv2::ExifKey::familyName
Exiv2::ExifKey::groupName
Exiv2::ExifKey::key
Exiv2::ExifKey::tag
Exiv2::ExvImage::mimeType
Exiv2::GifImage::mimeType
Exiv2::Image::comment
Exiv2::Image::exifData
Exiv2::Image::~Image
Exiv2::Image::io
Exiv2::Image::iptcData
Exiv2::Image::pixelHeight
Exiv2::Image::pixelWidth
Exiv2::Image::xmpData
Exiv2::Image::xmpPacket
Exiv2::Internal::CiffEntry::~CiffEntry
Exiv2::Internal::FujiMnHeader::baseOffset
Exiv2::Internal::FujiMnHeader::byteOrder
Exiv2::Internal::FujiMnHeader::~FujiMnHeader
Exiv2::Internal::FujiMnHeader::ifdOffset
Exiv2::Internal::FujiMnHeader::size
Exiv2::Internal::MnHeader::baseOffset
Exiv2::Internal::MnHeader::byteOrder
Exiv2::Internal::MnHeader::ifdOffset
Exiv2::Internal::MnHeader::~MnHeader
Exiv2::Internal::Nikon2MnHeader::ifdOffset
Exiv2::Internal::Nikon2MnHeader::~Nikon2MnHeader
Exiv2::Internal::Nikon2MnHeader::size
Exiv2::Internal::Nikon3MnHeader::baseOffset
Exiv2::Internal::Nikon3MnHeader::byteOrder
Exiv2::Internal::Nikon3MnHeader::ifdOffset
Exiv2::Internal::Nikon3MnHeader::~Nikon3MnHeader
Exiv2::Internal::Nikon3MnHeader::size
Exiv2::Internal::Olympus2MnHeader::baseOffset
Exiv2::Internal::Olympus2MnHeader::ifdOffset
Exiv2::Internal::Olympus2MnHeader::~Olympus2MnHeader
Exiv2::Internal::Olympus2MnHeader::size
Exiv2::Internal::OlympusMnHeader::ifdOffset
Exiv2::Internal::OlympusMnHeader::~OlympusMnHeader
Exiv2::Internal::OlympusMnHeader::size
Exiv2::Internal::PanasonicMnHeader::ifdOffset
Exiv2::Internal::PanasonicMnHeader::~PanasonicMnHeader
Exiv2::Internal::PanasonicMnHeader::size
Exiv2::Internal::PentaxMnHeader::ifdOffset
Exiv2::Internal::PentaxMnHeader::~PentaxMnHeader
Exiv2::Internal::PentaxMnHeader::size
Exiv2::Internal::SigmaMnHeader::ifdOffset
Exiv2::Internal::SigmaMnHeader::~SigmaMnHeader
Exiv2::Internal::SigmaMnHeader::size
Exiv2::Internal::SonyMnHeader::ifdOffset
Exiv2::Internal::SonyMnHeader::size
Exiv2::Internal::SonyMnHeader::~SonyMnHeader
Exiv2::Internal::TiffArrayElement::~TiffArrayElement
Exiv2::Internal::TiffBinaryElement::~TiffBinaryElement
Exiv2::Internal::TiffComponent::idx
Exiv2::Internal::TiffComponent::~TiffComponent
Exiv2::Internal::TiffDataEntryBase::~TiffDataEntryBase
Exiv2::Internal::TiffDataEntry::~TiffDataEntry
Exiv2::Internal::TiffDecoder::~TiffDecoder
Exiv2::Internal::TiffEncoder::~TiffEncoder
Exiv2::Internal::TiffEntryBase::idx
Exiv2::Internal::TiffEntry::~TiffEntry
Exiv2::Internal::TiffFinder::~TiffFinder
Exiv2::Internal::TiffImageEntry::~TiffImageEntry
Exiv2::Internal::TiffSizeEntry::~TiffSizeEntry
Exiv2::Internal::TiffVisitor::~TiffVisitor
Exiv2::Internal::TiffVisitor::visitDirectoryEnd
Exiv2::Internal::TiffVisitor::visitDirectoryNext
Exiv2::Internal::TiffVisitor::visitIfdMakernoteEnd
Exiv2::Iptcdatum::copy
Exiv2::Iptcdatum::count
Exiv2::Iptcdatum::familyName
Exiv2::Iptcdatum::getValue
Exiv2::Iptcdatum::groupName
Exiv2::Iptcdatum::key
Exiv2::Iptcdatum::size
Exiv2::Iptcdatum::tag
Exiv2::Iptcdatum::tagLabel
Exiv2::Iptcdatum::tagName
Exiv2::Iptcdatum::toFloat
Exiv2::Iptcdatum::toLong
Exiv2::Iptcdatum::toRational
Exiv2::Iptcdatum::toString
Exiv2::Iptcdatum::typeId
Exiv2::Iptcdatum::typeName
Exiv2::Iptcdatum::typeSize
Exiv2::IptcKey::familyName
Exiv2::IptcKey::groupName
Exiv2::IptcKey::key
Exiv2::IptcKey::tag
Exiv2::IptcKey::tagLabel
Exiv2::IptcKey::tagName
Exiv2::Jp2Image::mimeType
Exiv2::JpegImage::mimeType
Exiv2::MemIo::mmap
Exiv2::MemIo::munmap
Exiv2::MrwImage::mimeType
Exiv2::OrfImage::mimeType
Exiv2::PngImage::mimeType
Exiv2::PsdImage::mimeType
Exiv2::RafImage::mimeType
Exiv2::Rw2Image::mimeType
Exiv2::StringValueBase::count
Exiv2::StringValueBase::~StringValueBase
Exiv2::StringValue::~StringValue
Exiv2::TgaImage::mimeType
Exiv2::TiffImage::mimeType
Exiv2::TimeValue::count
Exiv2::TimeValue::getTime
Exiv2::TimeValue::~TimeValue
Exiv2::TimeValue::toFloat
Exiv2::TimeValue::toRational
Exiv2::Value::dataArea
Exiv2::Value::sizeDataArea
Exiv2::ValueType::copy
Exiv2::ValueType::count
Exiv2::ValueType::dataArea
Exiv2::ValueType::read
Exiv2::ValueType::setDataArea
Exiv2::ValueType::size
Exiv2::ValueType::sizeDataArea
Exiv2::ValueType::toFloat
Exiv2::ValueType::toLong
Exiv2::ValueType::toRational
Exiv2::ValueType::toString
Exiv2::ValueType::~ValueType
Exiv2::ValueType::write
Exiv2::Xmpdatum::typeSize
Exiv2::XmpKey::tag
Exiv2::XmpSidecar::mimeType
Util::Getopt::~Getopt

#2 Updated by Andreas Huggel about 8 years ago

These remain after r1798:

grep '\[inline, virtual\]' -members.html | sed 's,^.*href="\(.\).html#[0-9a-f]*">\(.*\)</a>(.*$,\1::\2,' | sed 's/^class//' | sed 's/_1_1/::/g' | sort | uniq
Action::Adjust-members.html: <tr bgcolor="#f0f0f0"><td><b>~Adjust</b>() (defined in <a class="el" href="classAction::Adjust.html">Action::Adjust</a>)</td><td><a class="el" href="classAction::Adjust.html">Action::Adjust</a></td><td> [inline, virtual]</td></tr>
Action::Erase-members.html: <tr bgcolor="#f0f0f0"><td><b>~Erase</b>() (defined in <a class="el" href="classAction::Erase.html">Action::Erase</a>)</td><td><a class="el" href="classAction::Erase.html">Action::Erase</a></td><td> [inline, virtual]</td></tr>
Action::Extract-members.html: <tr bgcolor="#f0f0f0"><td><b>~Extract</b>() (defined in <a class="el" href="classAction::Extract.html">Action::Extract</a>)</td><td><a class="el" href="classAction::Extract.html">Action::Extract</a></td><td> [inline, virtual]</td></tr>
Action::FixIso-members.html: <tr bgcolor="#f0f0f0"><td><b>~FixIso</b>() (defined in <a class="el" href="classAction::FixIso.html">Action::FixIso</a>)</td><td><a class="el" href="classAction::FixIso.html">Action::FixIso</a></td><td> [inline, virtual]</td></tr>
Action::Insert-members.html: <tr bgcolor="#f0f0f0"><td><b>~Insert</b>() (defined in <a class="el" href="classAction::Insert.html">Action::Insert</a>)</td><td><a class="el" href="classAction::Insert.html">Action::Insert</a></td><td> [inline, virtual]</td></tr>
Action::Modify-members.html: <tr bgcolor="#f0f0f0"><td><b>~Modify</b>() (defined in <a class="el" href="classAction::Modify.html">Action::Modify</a>)</td><td><a class="el" href="classAction::Modify.html">Action::Modify</a></td><td> [inline, virtual]</td></tr>
Action::Print-members.html: <tr bgcolor="#f0f0f0"><td><b>~Print</b>() (defined in <a class="el" href="classAction::Print.html">Action::Print</a>)</td><td><a class="el" href="classAction::Print.html">Action::Print</a></td><td> [inline, virtual]</td></tr>
Action::Rename-members.html: <tr bgcolor="#f0f0f0"><td><b>~Rename</b>() (defined in <a class="el" href="classAction::Rename.html">Action::Rename</a>)</td><td><a class="el" href="classAction::Rename.html">Action::Rename</a></td><td> [inline, virtual]</td></tr>
Action::Task::~Task
Exiv2::Internal::CiffEntry::~CiffEntry
Exiv2::Internal::FujiMnHeader::baseOffset
Exiv2::Internal::FujiMnHeader::byteOrder
Exiv2::Internal::FujiMnHeader::~FujiMnHeader
Exiv2::Internal::FujiMnHeader::ifdOffset
Exiv2::Internal::FujiMnHeader::size
Exiv2::Internal::MnHeader::baseOffset
Exiv2::Internal::MnHeader::byteOrder
Exiv2::Internal::MnHeader::ifdOffset
Exiv2::Internal::MnHeader::~MnHeader
Exiv2::Internal::Nikon2MnHeader::ifdOffset
Exiv2::Internal::Nikon2MnHeader::~Nikon2MnHeader
Exiv2::Internal::Nikon2MnHeader::size
Exiv2::Internal::Nikon3MnHeader::baseOffset
Exiv2::Internal::Nikon3MnHeader::byteOrder
Exiv2::Internal::Nikon3MnHeader::ifdOffset
Exiv2::Internal::Nikon3MnHeader::~Nikon3MnHeader
Exiv2::Internal::Nikon3MnHeader::size
Exiv2::Internal::Olympus2MnHeader::baseOffset
Exiv2::Internal::Olympus2MnHeader::ifdOffset
Exiv2::Internal::Olympus2MnHeader::~Olympus2MnHeader
Exiv2::Internal::Olympus2MnHeader::size
Exiv2::Internal::OlympusMnHeader::ifdOffset
Exiv2::Internal::OlympusMnHeader::~OlympusMnHeader
Exiv2::Internal::OlympusMnHeader::size
Exiv2::Internal::PanasonicMnHeader::ifdOffset
Exiv2::Internal::PanasonicMnHeader::~PanasonicMnHeader
Exiv2::Internal::PanasonicMnHeader::size
Exiv2::Internal::PentaxMnHeader::ifdOffset
Exiv2::Internal::PentaxMnHeader::~PentaxMnHeader
Exiv2::Internal::PentaxMnHeader::size
Exiv2::Internal::SigmaMnHeader::ifdOffset
Exiv2::Internal::SigmaMnHeader::~SigmaMnHeader
Exiv2::Internal::SigmaMnHeader::size
Exiv2::Internal::SonyMnHeader::ifdOffset
Exiv2::Internal::SonyMnHeader::size
Exiv2::Internal::SonyMnHeader::~SonyMnHeader
Exiv2::Internal::TiffArrayElement::~TiffArrayElement
Exiv2::Internal::TiffBinaryElement::~TiffBinaryElement
Exiv2::Internal::TiffComponent::idx
Exiv2::Internal::TiffComponent::~TiffComponent
Exiv2::Internal::TiffDataEntryBase::~TiffDataEntryBase
Exiv2::Internal::TiffDataEntry::~TiffDataEntry
Exiv2::Internal::TiffDecoder::~TiffDecoder
Exiv2::Internal::TiffEncoder::~TiffEncoder
Exiv2::Internal::TiffEntryBase::idx
Exiv2::Internal::TiffEntry::~TiffEntry
Exiv2::Internal::TiffFinder::~TiffFinder
Exiv2::Internal::TiffImageEntry::~TiffImageEntry
Exiv2::Internal::TiffSizeEntry::~TiffSizeEntry
Exiv2::Internal::TiffVisitor::~TiffVisitor
Exiv2::Internal::TiffVisitor::visitDirectoryEnd
Exiv2::Internal::TiffVisitor::visitDirectoryNext
Exiv2::Internal::TiffVisitor::visitIfdMakernoteEnd
Exiv2::ValueType::copy
Exiv2::ValueType::count
Exiv2::ValueType::dataArea
Exiv2::ValueType::read
Exiv2::ValueType::setDataArea
Exiv2::ValueType::size
Exiv2::ValueType::sizeDataArea
Exiv2::ValueType::toFloat
Exiv2::ValueType::toLong
Exiv2::ValueType::toRational
Exiv2::ValueType::toString
Exiv2::ValueType::~ValueType
Exiv2::ValueType::write

#3 Updated by Andreas Huggel about 8 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

#4 Updated by Andreas Huggel about 8 years ago

  • Target version changed from 1.0 to 0.19

#5 Updated by Andreas Huggel over 7 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux