libopenraw
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
OpenRaw::Internals::IfdEntry Class Reference

Public Types

typedef std::shared_ptr< IfdEntryRef
 

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

Detailed Description

Definition at line 161 of file ifdentry.hpp.

Member Typedef Documentation

◆ Ref

typedef std::shared_ptr<IfdEntry> OpenRaw::Internals::IfdEntry::Ref

Ref (ie shared pointer)

Definition at line 165 of file ifdentry.hpp.

Constructor & Destructor Documentation

◆ IfdEntry()

OpenRaw::Internals::IfdEntry::IfdEntry ( uint16_t  _id,
int16_t  _type,
int32_t  _count,
uint32_t  _data,
IfdFileContainer _container 
)

Definition at line 42 of file ifdentry.cpp.

◆ ~IfdEntry()

OpenRaw::Internals::IfdEntry::~IfdEntry ( )
virtual

Definition at line 60 of file ifdentry.cpp.

Member Function Documentation

◆ count()

uint32_t OpenRaw::Internals::IfdEntry::count ( ) const
inlinenoexcept

the count of items in the entry

Definition at line 178 of file ifdentry.hpp.

◆ endian()

RawContainer::EndianType OpenRaw::Internals::IfdEntry::endian ( ) const

Definition at line 155 of file ifdentry.cpp.

◆ getArray()

template<typename T >
Option< std::vector< T > > OpenRaw::Internals::IfdEntry::getArray ( )
inline

get the array values of type T

Parameters
Tthe type of the value needed
arraythe storage
Exceptions
whateveris thrown

Definition at line 216 of file ifdentry.hpp.

◆ getIntegerArrayItem()

uint32_t OpenRaw::Internals::IfdEntry::getIntegerArrayItem ( int  idx)

Definition at line 185 of file ifdentry.cpp.

◆ loadData()

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

Parameters
unit_sizethe size of 1 unit of data
Returns
true if success.

Definition at line 161 of file ifdentry.cpp.

◆ make_meta_value()

MetaValue * OpenRaw::Internals::IfdEntry::make_meta_value ( )

Definition at line 118 of file ifdentry.cpp.

◆ offset()

off_t OpenRaw::Internals::IfdEntry::offset ( )
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.

◆ type()

int16_t OpenRaw::Internals::IfdEntry::type ( ) const
inlinenoexcept

Definition at line 172 of file ifdentry.hpp.

◆ type_unit_size()

size_t OpenRaw::Internals::IfdEntry::type_unit_size ( IFD::ExifTagType  _type)
static

Unit size for type

Definition at line 95 of file ifdentry.cpp.

Friends And Related Function Documentation

◆ IfdTypeTrait

template<typename T >
friend struct IfdTypeTrait
friend

Definition at line 242 of file ifdentry.hpp.


The documentation for this class was generated from the following files: