Exiv2
Public Types | List of all members
Exiv2::BlockMap Class Reference

Utility class provides the block mapping to the part of data. This avoids allocating a single contiguous block of memory to the big data. More...

Public Types

enum  blockType_e { bNone, bKnown, bMemory }
 the status of the block.
 

Creators

 BlockMap ()
 Default constructor. the init status of the block is bNone.
 
 ~BlockMap ()
 Destructor. Releases all managed memory.
 
void populate (byte *source, size_t num)
 Populate the block. More...
 
void markKnown (size_t num)
 Change the status to bKnow. bKnow blocks do not contain the data, but they keep the size of data. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) which never change in exiv2. More...
 
bool isNone () const
 
bool isInMem () const
 
bool isKnown () const
 
bytegetData () const
 
size_t getSize () const
 

Detailed Description

Utility class provides the block mapping to the part of data. This avoids allocating a single contiguous block of memory to the big data.

Member Function Documentation

◆ markKnown()

void Exiv2::BlockMap::markKnown ( size_t  num)
inline

Change the status to bKnow. bKnow blocks do not contain the data, but they keep the size of data. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) which never change in exiv2.

Parameters
numThe size of the data

Referenced by Exiv2::RemoteIo::populateFakeData().

◆ populate()

void Exiv2::BlockMap::populate ( byte source,
size_t  num 
)
inline

Populate the block.

Parameters
sourceThe data populate to the block
numThe size of data

Referenced by Exiv2::RemoteIo::open().


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