OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
opennn::FileReader Class Reference

Thread-safe positional file reader (pread on POSIX, overlapped ReadFile on Windows). More...

#include <io_utilities.h>

Public Member Functions

 FileReader ()=default
 
 ~FileReader ()
 
 FileReader (const FileReader &)=delete
 
FileReaderoperator= (const FileReader &)=delete
 
 FileReader (FileReader &&)=delete
 
FileReaderoperator= (FileReader &&)=delete
 
void open (const filesystem::path &path)
 Opens the file at the given path for reading.
 
void close ()
 Closes the underlying file handle, if any.
 
bool is_open () const
 Returns true while the underlying handle is open.
 
void read_at (void *buffer, size_t bytes, uint64_t offset) const
 Reads bytes from a specific offset into the provided buffer (thread-safe).
 
uint64_t file_size () const
 Returns the total size of the open file in bytes.
 

Detailed Description

Thread-safe positional file reader (pread on POSIX, overlapped ReadFile on Windows).

Constructor & Destructor Documentation

◆ FileReader() [1/3]

opennn::FileReader::FileReader ( )
default

◆ ~FileReader()

opennn::FileReader::~FileReader ( )

◆ FileReader() [2/3]

opennn::FileReader::FileReader ( const FileReader & )
delete

◆ FileReader() [3/3]

opennn::FileReader::FileReader ( FileReader && )
delete

Member Function Documentation

◆ close()

void opennn::FileReader::close ( )

Closes the underlying file handle, if any.

◆ file_size()

uint64_t opennn::FileReader::file_size ( ) const
nodiscard

Returns the total size of the open file in bytes.

◆ is_open()

bool opennn::FileReader::is_open ( ) const
nodiscard

Returns true while the underlying handle is open.

◆ open()

void opennn::FileReader::open ( const filesystem::path & path)

Opens the file at the given path for reading.

◆ operator=() [1/2]

FileReader & opennn::FileReader::operator= ( const FileReader & )
delete

◆ operator=() [2/2]

FileReader & opennn::FileReader::operator= ( FileReader && )
delete

◆ read_at()

void opennn::FileReader::read_at ( void * buffer,
size_t bytes,
uint64_t offset ) const

Reads bytes from a specific offset into the provided buffer (thread-safe).

Parameters
bufferDestination buffer (must hold at least bytes).
bytesNumber of bytes to read.
offsetByte offset within the file to read from.