![]() |
Exiv2
|
This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree. More...
#include <tiffcomposite_int.hpp>

Public Member Functions | |
Creators | |
| TiffDirectory (uint16_t tag, IfdId group, bool hasNext=true) | |
| Default constructor. | |
| ~TiffDirectory () override | |
| Virtual destructor. | |
NOT implemented | |
| TiffDirectory & | operator= (const TiffDirectory &)=delete |
| Assignment operator. | |
Accessors | |
| bool | hasNext () const |
| Return true if the directory has a next pointer. | |
Public Member Functions inherited from Exiv2::Internal::TiffComponent | |
| constexpr | TiffComponent (uint16_t tag, IfdId group) |
| Constructor. | |
| virtual | ~TiffComponent ()=default |
| Virtual destructor. | |
| TiffComponent (const TiffComponent &)=default | |
| TiffComponent & | operator= (const TiffComponent &)=default |
| TiffComponent * | addPath (uint16_t tag, TiffPath &tiffPath, TiffComponent *pRoot, UniquePtr object=nullptr) |
| Add a TIFF entry tag to the component. Components on the path to the entry are added if they don't exist yet. | |
| TiffComponent * | addChild (UniquePtr tiffComponent) |
| Add a child to the component. Default is to do nothing. | |
| TiffComponent * | addNext (UniquePtr tiffComponent) |
| Add a "next" component to the component. Default is to do nothing. | |
| void | accept (TiffVisitor &visitor) |
| Interface to accept visitors (Visitor pattern). Visitors can perform operations on all components of the composite. | |
| void | setStart (const byte *pStart) |
| Set a pointer to the start of the binary representation of the component in a memory buffer. The buffer must be allocated and freed outside of this class. | |
| size_t | write (IoWrapper &ioWrapper, ByteOrder byteOrder, size_t offset, size_t valueIdx, size_t dataIdx, size_t &imageIdx) |
| Write a TiffComponent to a binary image. | |
| uint16_t | tag () const |
| Return the tag of this entry. | |
| IfdId | group () const |
| Return the group id of this component. | |
| byte * | start () const |
| Return a pointer to the start of the binary representation of the component. | |
| UniquePtr | clone () const |
| Return an auto-pointer to a copy of itself (deep copy, but without any children). The caller owns this copy and the auto-pointer ensures that it will be deleted. | |
| size_t | writeData (IoWrapper &ioWrapper, ByteOrder byteOrder, size_t offset, size_t dataIdx, size_t &imageIdx) const |
| Write the IFD data of this component to a binary image. Return the number of bytes written. Components derived from TiffEntryBase implement this method if needed. | |
| size_t | writeImage (IoWrapper &ioWrapper, ByteOrder byteOrder) const |
| Write the image data of this component to a binary image. Return the number of bytes written. TIFF components implement this method if needed. | |
| size_t | size () const |
| Return the size in bytes of the IFD value of this component when written to a binary image. | |
| size_t | count () const |
| Return the number of components in this component. | |
| size_t | sizeData () const |
| Return the size in bytes of the IFD data of this component when written to a binary image. This is a support function for write(). Components derived from TiffEntryBase implement this method corresponding to their implementation of writeData(). | |
| size_t | sizeImage () const |
| Return the size in bytes of the image data of this component when written to a binary image. This is a support function for write(). TIFF components implement this method corresponding to their implementation of writeImage(). | |
| virtual int | idx () const |
| Return the unique id of the entry in the image. | |
Protected Member Functions | |
Protected Creators | |
| TiffDirectory (const TiffDirectory &)=default | |
| Copy constructor (used to implement clone()). | |
Protected Manipulators | |
| TiffComponent * | doAddPath (uint16_t tag, TiffPath &tiffPath, TiffComponent *pRoot, TiffComponent::UniquePtr object) override |
| Implements addPath(). The default implementation does nothing. | |
| TiffComponent * | doAddChild (TiffComponent::UniquePtr tiffComponent) override |
| Implements addChild(). The default implementation does nothing. | |
| TiffComponent * | doAddNext (TiffComponent::UniquePtr tiffComponent) override |
| Implements addNext(). The default implementation does nothing. | |
| void | doAccept (TiffVisitor &visitor) override |
| Implements accept(). | |
| size_t | doWrite (IoWrapper &ioWrapper, ByteOrder byteOrder, size_t offset, size_t valueIdx, size_t dataIdx, size_t &imageIdx) override |
| Implements write(). Write the TIFF directory, values and additional data, including the next-IFD, if any, to the ioWrapper, return the number of bytes written. | |
Protected Accessors | |
| TiffDirectory * | doClone () const override |
| Internal virtual copy constructor, implements clone(). | |
| size_t | doWriteData (IoWrapper &ioWrapper, ByteOrder byteOrder, size_t offset, size_t dataIdx, size_t &imageIdx) const override |
| This class does not really implement writeData(), it only has write(). This method must not be called; it commits suicide. | |
| size_t | doWriteImage (IoWrapper &ioWrapper, ByteOrder byteOrder) const override |
| Implements writeImage(). Write the image data of the TIFF directory to the ioWrapper by forwarding the call to each component as well as the next-IFD, if there is any. Return the number of bytes written. | |
| size_t | doSize () const override |
| Implements size(). Return the size of the TIFF directory, values and additional data, including the next-IFD, if any. | |
| size_t | doCount () const override |
| Implements count(). Return the number of entries in the TIFF directory. Does not count entries which are marked as deleted. | |
| size_t | doSizeData () const override |
| This class does not really implement sizeData(), it only has size(). This method must not be called; it commits suicide. | |
| size_t | doSizeImage () const override |
| Implements sizeImage(). Return the sum of the image sizes of all components plus that of the next-IFD, if there is any. | |
Protected Member Functions inherited from Exiv2::Internal::TiffComponent | |
Friends | |
| class | TiffEncoder |
| class | TiffDecoder |
Additional Inherited Members | |
Public Types inherited from Exiv2::Internal::TiffComponent | |
| using | UniquePtr = std::unique_ptr<TiffComponent> |
| TiffComponent auto_ptr type. | |
| using | Components = std::vector<TiffComponent*> |
| Container type to hold all metadata. | |
This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree.
|
overrideprotectedvirtual |
Implements accept().
Implements Exiv2::Internal::TiffComponent.
References Exiv2::Internal::TiffComponent::accept(), Exiv2::Internal::TiffVisitor::geTraverse, Exiv2::Internal::TiffVisitor::go(), Exiv2::Internal::TiffVisitor::visitDirectory(), Exiv2::Internal::TiffVisitor::visitDirectoryEnd(), and Exiv2::Internal::TiffVisitor::visitDirectoryNext().
|
overrideprotectedvirtual |
Implements addChild(). The default implementation does nothing.
Reimplemented from Exiv2::Internal::TiffComponent.
|
overrideprotectedvirtual |
Implements addNext(). The default implementation does nothing.
Reimplemented from Exiv2::Internal::TiffComponent.
|
overrideprotectedvirtual |
Implements addPath(). The default implementation does nothing.
Reimplemented from Exiv2::Internal::TiffComponent.
References Exiv2::Internal::TiffComponent::addChild(), Exiv2::Internal::TiffComponent::addNext(), Exiv2::Internal::TiffComponent::addPath(), Exiv2::Internal::TiffCreator::create(), Exiv2::Internal::TiffPathItem::extendedTag(), Exiv2::Internal::TiffPathItem::group(), Exiv2::Internal::Tag::next, Exiv2::Internal::TiffComponent::tag(), and Exiv2::Internal::TiffPathItem::tag().
|
nodiscardoverrideprotectedvirtual |
Internal virtual copy constructor, implements clone().
Implements Exiv2::Internal::TiffComponent.
References TiffDirectory().
|
nodiscardoverrideprotectedvirtual |
Implements count(). Return the number of entries in the TIFF directory. Does not count entries which are marked as deleted.
Implements Exiv2::Internal::TiffComponent.
|
nodiscardoverrideprotectedvirtual |
Implements size(). Return the size of the TIFF directory, values and additional data, including the next-IFD, if any.
Implements Exiv2::Internal::TiffComponent.
References Exiv2::Internal::TiffComponent::count(), and Exiv2::Internal::TiffComponent::size().
|
nodiscardoverrideprotectedvirtual |
This class does not really implement sizeData(), it only has size(). This method must not be called; it commits suicide.
Implements Exiv2::Internal::TiffComponent.
|
nodiscardoverrideprotectedvirtual |
Implements sizeImage(). Return the sum of the image sizes of all components plus that of the next-IFD, if there is any.
Implements Exiv2::Internal::TiffComponent.
References Exiv2::Internal::TiffComponent::sizeImage().
|
overrideprotectedvirtual |
Implements write(). Write the TIFF directory, values and additional data, including the next-IFD, if any, to the ioWrapper, return the number of bytes written.
Implements Exiv2::Internal::TiffComponent.
References Exiv2::Internal::cmpTagLt(), Exiv2::Internal::TiffComponent::count(), Exiv2::Internal::OffsetWriter::cr2RawIfdOffset, Exiv2::Internal::enforce(), Exiv2::Internal::TiffComponent::group(), Exiv2::Internal::groupName(), Exiv2::Internal::TiffComponent::idx(), Exiv2::l2Data(), Exiv2::Internal::IoWrapper::putb(), Exiv2::Internal::IoWrapper::setTarget(), Exiv2::Internal::TiffComponent::size(), Exiv2::Internal::TiffComponent::sizeData(), Exiv2::us2Data(), Exiv2::Internal::IoWrapper::write(), Exiv2::Internal::TiffComponent::write(), Exiv2::Internal::TiffComponent::writeData(), and Exiv2::Internal::TiffComponent::writeImage().
|
overrideprotectedvirtual |
This class does not really implement writeData(), it only has write(). This method must not be called; it commits suicide.
Implements Exiv2::Internal::TiffComponent.
|
overrideprotectedvirtual |
Implements writeImage(). Write the image data of the TIFF directory to the ioWrapper by forwarding the call to each component as well as the next-IFD, if there is any. Return the number of bytes written.
Implements Exiv2::Internal::TiffComponent.
References EXV_ERROR, and Exiv2::Internal::TiffComponent::writeImage().