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
byte * | getData () 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

  num | The size of the data

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

## populate()

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

inline

Populate the block.

Parameters

  source | The data populate to the block
  num | The size of data

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

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

- basicio.cpp