KiCad PCB EDA Suite
Loading...
Searching...
No Matches
KIPLATFORM::IO::MAPPED_FILE Class Reference

RAII wrapper for memory-mapped file I/O. More...

#include <io.h>

Public Member Functions

 MAPPED_FILE (const wxString &aFileName)
 
 ~MAPPED_FILE ()
 
 MAPPED_FILE (const MAPPED_FILE &)=delete
 
MAPPED_FILEoperator= (const MAPPED_FILE &)=delete
 
const uint8_t * Data () const
 
size_t Size () const
 

Private Member Functions

void readIntoBuffer (const wxString &aFileName)
 

Private Attributes

const uint8_t * m_data = nullptr
 
size_t m_size = 0
 
bool m_isMapped = false
 
std::vector< uint8_t > m_fallbackBuffer
 

Detailed Description

RAII wrapper for memory-mapped file I/O.

Uses mmap on POSIX and MapViewOfFile on Windows. Falls back to reading the entire file into a heap buffer if memory mapping is unavailable.

Definition at line 41 of file io.h.

Constructor & Destructor Documentation

◆ MAPPED_FILE() [1/2]

KIPLATFORM::IO::MAPPED_FILE::MAPPED_FILE ( const wxString & aFileName)
explicit

Definition at line 163 of file unix/io.cpp.

References m_data, m_isMapped, m_size, and readIntoBuffer().

Referenced by MAPPED_FILE(), and operator=().

◆ ~MAPPED_FILE()

KIPLATFORM::IO::MAPPED_FILE::~MAPPED_FILE ( )

Definition at line 205 of file unix/io.cpp.

References m_data, m_isMapped, and m_size.

◆ MAPPED_FILE() [2/2]

KIPLATFORM::IO::MAPPED_FILE::MAPPED_FILE ( const MAPPED_FILE & )
delete

References MAPPED_FILE().

Member Function Documentation

◆ Data()

const uint8_t * KIPLATFORM::IO::MAPPED_FILE::Data ( ) const
inline

Definition at line 50 of file io.h.

References m_data.

◆ operator=()

MAPPED_FILE & KIPLATFORM::IO::MAPPED_FILE::operator= ( const MAPPED_FILE & )
delete

References MAPPED_FILE().

◆ readIntoBuffer()

void KIPLATFORM::IO::MAPPED_FILE::readIntoBuffer ( const wxString & aFileName)
private

Definition at line 29 of file common/io.cpp.

References m_data, m_fallbackBuffer, and m_size.

Referenced by MAPPED_FILE().

◆ Size()

size_t KIPLATFORM::IO::MAPPED_FILE::Size ( ) const
inline

Definition at line 51 of file io.h.

References m_size.

Member Data Documentation

◆ m_data

const uint8_t* KIPLATFORM::IO::MAPPED_FILE::m_data = nullptr
private

Definition at line 56 of file io.h.

Referenced by Data(), MAPPED_FILE(), readIntoBuffer(), and ~MAPPED_FILE().

◆ m_fallbackBuffer

std::vector<uint8_t> KIPLATFORM::IO::MAPPED_FILE::m_fallbackBuffer
private

Definition at line 66 of file io.h.

Referenced by readIntoBuffer().

◆ m_isMapped

bool KIPLATFORM::IO::MAPPED_FILE::m_isMapped = false
private

Definition at line 63 of file io.h.

Referenced by MAPPED_FILE(), and ~MAPPED_FILE().

◆ m_size

size_t KIPLATFORM::IO::MAPPED_FILE::m_size = 0
private

Definition at line 57 of file io.h.

Referenced by MAPPED_FILE(), readIntoBuffer(), Size(), and ~MAPPED_FILE().


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