libopenraw
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
OpenRaw::Internals::IfdTypeTrait< T > Struct Template Reference

#include <ifdentry.hpp>

Public Member Functions

template<>
const uint16_t type
 
template<>
const size_t size
 
template<>
const uint16_t type
 
template<>
const size_t size
 
template<>
const uint16_t type
 
template<>
const size_t size
 
template<>
const uint16_t type
 
template<>
const size_t size
 
template<>
const uint16_t type
 
template<>
const size_t size
 
template<>
const uint16_t type
 
template<>
const size_t size
 
template<>
uint8_t EL (const uint8_t *b, size_t) noexcept
 
template<>
uint8_t BE (const uint8_t *b, size_t) noexcept
 
template<>
uint16_t EL (const uint8_t *b, size_t) noexcept
 
template<>
uint16_t BE (const uint8_t *b, size_t) noexcept
 
template<>
uint32_t EL (const uint8_t *b, size_t) noexcept
 
template<>
uint32_t BE (const uint8_t *b, size_t) noexcept
 
template<>
std::string EL (const uint8_t *b, size_t len) noexcept
 
template<>
std::string BE (const uint8_t *b, size_t len) noexcept
 
template<>
IFD::Rational EL (const uint8_t *b, size_t) noexcept
 
template<>
IFD::Rational BE (const uint8_t *b, size_t) noexcept
 
template<>
IFD::SRational EL (const uint8_t *b, size_t) noexcept
 
template<>
IFD::SRational BE (const uint8_t *b, size_t) noexcept
 

Static Public Member Functions

static T EL (const uint8_t *d, size_t len) noexcept
 
static T BE (const uint8_t *d, size_t len) noexcept
 
static T get (IfdEntry &e, uint32_t idx=0, bool ignore_type=false) noexcept(false)
 

Static Public Attributes

static const uint16_t type
 
static const size_t size
 

Detailed Description

template<typename T>
struct OpenRaw::Internals::IfdTypeTrait< T >

Describe and IFDType

Definition at line 53 of file ifdentry.hpp.

Member Function Documentation

◆ get()

template<typename T >
T OpenRaw::Internals::IfdTypeTrait< T >::get ( IfdEntry e,
uint32_t  idx = 0,
bool  ignore_type = false 
)
staticnoexcept

get the value of type T

Parameters
Tthe type of the value needed
idxthe index, by default 0
ignore_typeif true, don't check type. DANGEROUS Default is false.
Returns
the value
Exceptions
BadTypeExceptionin case of wrong typing.
OutOfRangeExceptionin case of subscript out of range

Definition at line 262 of file ifdentry.hpp.

References OpenRaw::Internals::RawContainer::ENDIAN_LITTLE.

Referenced by OpenRaw::Internals::IfdFile::cfaIfd(), OpenRaw::Internals::IfdDir::getValue(), and OpenRaw::Internals::IfdEntry::loadData().

Member Data Documentation

◆ size

template<typename T >
const size_t OpenRaw::Internals::IfdTypeTrait< T >::size
static

the storage size unit in IFD

Definition at line 56 of file ifdentry.hpp.

◆ type

template<typename T >
const uint16_t OpenRaw::Internals::IfdTypeTrait< T >::type
static

the EXIF enum for the type

Definition at line 55 of file ifdentry.hpp.


The documentation for this struct was generated from the following file: