CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::LocalFileIterator Class Reference

File iterator for the local file system. More...

#include <CeresEngine/Platform/Generic/LocalFileIterator.hpp>

Inheritance diagram for CeresEngine::LocalFileIterator:
CeresEngine::IFileIterator

Public Member Functions

 LocalFileIterator (LocalFileSystem &fs, FileHandle &&fileHandle)
 
 LocalFileIterator (const LocalFileIterator &)=delete
 
LocalFileIteratoroperator= (const LocalFileIterator &)=delete
 
 LocalFileIterator (LocalFileIterator &&)
 
LocalFileIteratoroperator= (LocalFileIterator &)=delete
 
 ~LocalFileIterator () override
 
IFileSystemgetFileSystem () const override
 
bool isValid () const override
 Checks if iterator points to a valid item.
 
const FileHandlegetParent () const override
 Gets the parent FileHandle this iterator iterates over.
 
Int32 getIndex () const override
 Gets the current index of iterator in the directory.
 
FileHandle getFileHandle () const override
 Gets the current entry file handle.
 
void next () override
 Advances to the next item.
 
- Public Member Functions inherited from CeresEngine::IFileIterator
 IFileIterator ()=default
 
virtual ~IFileIterator ()=default
 

Protected Member Functions

void readNextEntry ()
 

Private Attributes

RC< LocalFileSystemmFileSystem
 File system that created this iterator.
 
FileHandle mFileHandle
 The file handle the iterator is operating on.
 
std::filesystem::directory_iterator mIterator
 The Directory handle.
 
Int32 mIndex
 The index of the current entry.
 

Detailed Description

File iterator for the local file system.

Constructor & Destructor Documentation

◆ LocalFileIterator() [1/3]

CeresEngine::LocalFileIterator::LocalFileIterator ( LocalFileSystem fs,
FileHandle &&  fileHandle 
)

◆ LocalFileIterator() [2/3]

CeresEngine::LocalFileIterator::LocalFileIterator ( const LocalFileIterator )
delete

◆ LocalFileIterator() [3/3]

CeresEngine::LocalFileIterator::LocalFileIterator ( LocalFileIterator &&  )

◆ ~LocalFileIterator()

CeresEngine::LocalFileIterator::~LocalFileIterator ( )
override

Member Function Documentation

◆ getFileHandle()

FileHandle CeresEngine::LocalFileIterator::getFileHandle ( ) const
overridevirtual

Gets the current entry file handle.

Implements CeresEngine::IFileIterator.

◆ getFileSystem()

IFileSystem * CeresEngine::LocalFileIterator::getFileSystem ( ) const
overridevirtual

◆ getIndex()

Int32 CeresEngine::LocalFileIterator::getIndex ( ) const
overridevirtual

Gets the current index of iterator in the directory.

Returns
The Index, -1 if invalid.

Implements CeresEngine::IFileIterator.

◆ getParent()

const FileHandle & CeresEngine::LocalFileIterator::getParent ( ) const
overridevirtual

Gets the parent FileHandle this iterator iterates over.

Implements CeresEngine::IFileIterator.

◆ isValid()

bool CeresEngine::LocalFileIterator::isValid ( ) const
overridevirtual

Checks if iterator points to a valid item.

Returns
true if valid, else false.

Implements CeresEngine::IFileIterator.

◆ next()

void CeresEngine::LocalFileIterator::next ( )
overridevirtual

Advances to the next item.

Implements CeresEngine::IFileIterator.

◆ operator=() [1/2]

LocalFileIterator & CeresEngine::LocalFileIterator::operator= ( const LocalFileIterator )
delete

◆ operator=() [2/2]

LocalFileIterator & CeresEngine::LocalFileIterator::operator= ( LocalFileIterator )
delete

◆ readNextEntry()

void CeresEngine::LocalFileIterator::readNextEntry ( )
protected

Member Data Documentation

◆ mFileHandle

FileHandle CeresEngine::LocalFileIterator::mFileHandle
private

The file handle the iterator is operating on.

◆ mFileSystem

RC<LocalFileSystem> CeresEngine::LocalFileIterator::mFileSystem
private

File system that created this iterator.

◆ mIndex

Int32 CeresEngine::LocalFileIterator::mIndex
private

The index of the current entry.

◆ mIterator

std::filesystem::directory_iterator CeresEngine::LocalFileIterator::mIterator
private

The Directory handle.


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