libopenraw
|
Public Types | |
typedef std::shared_ptr< IfdEntry > | Ref |
Public Member Functions | |
IfdEntry (uint16_t _id, int16_t _type, int32_t _count, uint32_t _data, IfdFileContainer &_container) | |
int16_t | type () const noexcept |
uint32_t | count () const noexcept |
off_t | offset () noexcept |
RawContainer::EndianType | endian () const |
MetaValue * | make_meta_value () |
bool | loadData (size_t unit_size) |
template<typename T > | |
Option< std::vector< T > > | getArray () |
uint32_t | getIntegerArrayItem (int idx) |
Static Public Member Functions | |
static size_t | type_unit_size (IFD::ExifTagType _type) |
Friends | |
template<typename T > | |
struct | IfdTypeTrait |
Definition at line 161 of file ifdentry.hpp.
typedef std::shared_ptr<IfdEntry> OpenRaw::Internals::IfdEntry::Ref |
Ref (ie shared pointer)
Definition at line 165 of file ifdentry.hpp.
|
inlinenoexcept |
the count of items in the entry
Definition at line 178 of file ifdentry.hpp.
|
inline |
get the array values of type T
T | the type of the value needed |
array | the storage |
whatever | is thrown |
Definition at line 216 of file ifdentry.hpp.
bool OpenRaw::Internals::IfdEntry::loadData | ( | size_t | unit_size | ) |
load the data for the entry if all the data fits in m_data, it is a noop
unit_size | the size of 1 unit of data |
Definition at line 161 of file ifdentry.cpp.
References OpenRaw::Internals::RawContainer::ENDIAN_LITTLE, OpenRaw::Internals::IfdFileContainer::exifOffsetCorrection(), OpenRaw::Internals::RawContainer::fetchData(), and OpenRaw::Internals::IfdTypeTrait< T >::get().
|
inlinenoexcept |
the offset of the data. It can just be the value if the entry is self contained.
Definition at line 186 of file ifdentry.hpp.
References OpenRaw::Internals::RawContainer::ENDIAN_LITTLE.
|
static |
Unit size for type
Definition at line 95 of file ifdentry.cpp.