Exiv2
Loading...
Searching...
No Matches
Exiv2::FileIo::Impl Class Reference

Internal Pimpl structure of class FileIo. More...

Classes

struct  StructStat
 Simple struct stat wrapper for internal use. More...

Public Types

enum  OpMode { opRead , opWrite , opSeek }
 Mode of operation.

Public Member Functions

 Impl (std::string path)
 Constructor.
int switchMode (OpMode opMode)
 Switch to a new access mode, reopening the file if needed. Optimized to only reopen the file when it is really necessary.
int stat (StructStat &buf) const
 stat wrapper for internal use
 Impl (const Impl &)=delete
 Copy constructor.
Imploperator= (const Impl &)=delete
 Assignment.

Public Attributes

std::string path_
 (Standard) path
std::string openMode_
 File open mode.
FILE * fp_ {}
 File stream pointer.
OpMode opMode_ {opSeek}
 File open mode.
bytepMappedArea_ {}
 Pointer to the memory-mapped area.
size_t mappedLength_ {}
 Size of the memory-mapped area.
bool isMalloced_ {}
 Is the mapped area allocated?
bool isWriteable_ {}
 Can the mapped area be written to?

Detailed Description

Internal Pimpl structure of class FileIo.

Member Function Documentation

◆ switchMode()

int Exiv2::FileIo::Impl::switchMode ( OpMode opMode)

Switch to a new access mode, reopening the file if needed. Optimized to only reopen the file when it is really necessary.

Parameters
opModeThe mode to switch to.
Returns
0 if successful

References fp_, openMode_, opMode_, and path_.


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