CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::FunctionalFileVisitor Class Referencefinal

File visitor that calls a function or lambda. More...

#include <CeresEngine/Foundation/IO/FileHandle.hpp>

Inheritance diagram for CeresEngine::FunctionalFileVisitor:
CeresEngine::FileVisitor

Public Types

using VisitFunc = std::function< bool(const FileHandle &)>
 
using FileVistFunc = std::function< bool(const FileHandle &)>
 
using DirectoryVisitFunc = std::function< bool(const FileHandle &)>
 

Public Member Functions

 FunctionalFileVisitor (VisitFunc &&funcFileEntry)
 Constructs a new FunctionalFileVisitor.
 
 FunctionalFileVisitor (FileVistFunc &&funcFile, DirectoryVisitFunc &&funcDirectory)
 Constructs a new FunctionalFileVisitor.
 
 ~FunctionalFileVisitor () final
 Destroys the FunctionalFileVisitor.
 
- Public Member Functions inherited from CeresEngine::FileVisitor
 FileVisitor ()
 
virtual ~FileVisitor ()
 

Protected Member Functions

bool onFileEntry (const FileHandle &handle) final
 Called for each file entry visited (files and directories).
 
void onFile (const FileHandle &handle) final
 Called for on each file visited.
 
bool onDirectory (const FileHandle &handle) final
 Called for each visited directory.
 

Private Attributes

VisitFunc mFileEntryFunc
 
FileVistFunc mFileFunc
 
DirectoryVisitFunc mDirectoryFunc
 

Detailed Description

File visitor that calls a function or lambda.

Member Typedef Documentation

◆ DirectoryVisitFunc

◆ FileVistFunc

◆ VisitFunc

Constructor & Destructor Documentation

◆ FunctionalFileVisitor() [1/2]

CeresEngine::FunctionalFileVisitor::FunctionalFileVisitor ( VisitFunc &&  funcFileEntry)

Constructs a new FunctionalFileVisitor.

Parameters
funcFileEntryA function that will be called for each visited entry (files and directories).

◆ FunctionalFileVisitor() [2/2]

CeresEngine::FunctionalFileVisitor::FunctionalFileVisitor ( FileVistFunc &&  funcFile,
DirectoryVisitFunc &&  funcDirectory 
)

Constructs a new FunctionalFileVisitor.

Parameters
funcFileA function that will be called for each visited file.
funcDirectoryA function that will be called for each visited directory.

◆ ~FunctionalFileVisitor()

CeresEngine::FunctionalFileVisitor::~FunctionalFileVisitor ( )
final

Destroys the FunctionalFileVisitor.

Member Function Documentation

◆ onDirectory()

bool CeresEngine::FunctionalFileVisitor::onDirectory ( const FileHandle handle)
finalprotectedvirtual

Called for each visited directory.

Parameters
handleA handle to the visited directory.
Returns
true if the subdirectory should be traversed, else false.

Reimplemented from CeresEngine::FileVisitor.

◆ onFile()

void CeresEngine::FunctionalFileVisitor::onFile ( const FileHandle handle)
finalprotectedvirtual

Called for on each file visited.

Parameters
handleA Handle to visited file.

Reimplemented from CeresEngine::FileVisitor.

◆ onFileEntry()

bool CeresEngine::FunctionalFileVisitor::onFileEntry ( const FileHandle handle)
finalprotectedvirtual

Called for each file entry visited (files and directories).

Note
The default implementation checks if the file handle points to a file or a directory and calls onFile() or onDirectory() respectively.
Parameters
handleA handle to the visited file or directory.
Returns
true if the subdirectory should be traversed, else false.

Reimplemented from CeresEngine::FileVisitor.

Member Data Documentation

◆ mDirectoryFunc

DirectoryVisitFunc CeresEngine::FunctionalFileVisitor::mDirectoryFunc
private

◆ mFileEntryFunc

VisitFunc CeresEngine::FunctionalFileVisitor::mFileEntryFunc
private

◆ mFileFunc

FileVistFunc CeresEngine::FunctionalFileVisitor::mFileFunc
private

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