mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
53 lines
779 B
C
53 lines
779 B
C
![]() |
#pragma once
|
||
|
|
||
|
#include "../Common.h"
|
||
|
|
||
|
NS_BF_BEGIN;
|
||
|
|
||
|
class FileEnumeratorEntry
|
||
|
{
|
||
|
public:
|
||
|
String mDirPath;
|
||
|
BfpFindFileData* mFindData;
|
||
|
|
||
|
String GetFilePath() const;
|
||
|
String GetFileName() const;
|
||
|
};
|
||
|
|
||
|
class FileEnumerator : public FileEnumeratorEntry
|
||
|
{
|
||
|
public:
|
||
|
enum Flags
|
||
|
{
|
||
|
Flags_Files = 1,
|
||
|
Flags_Directories = 2,
|
||
|
};
|
||
|
|
||
|
class Iterator
|
||
|
{
|
||
|
public:
|
||
|
FileEnumerator* mFileEnumerator;
|
||
|
int mIdx;
|
||
|
|
||
|
const Iterator& operator++();
|
||
|
bool operator==(const Iterator& rhs);
|
||
|
bool operator!=(const Iterator& rhs);
|
||
|
const FileEnumeratorEntry& operator*();
|
||
|
};
|
||
|
|
||
|
public:
|
||
|
Flags mFlags;
|
||
|
int mIdx;
|
||
|
|
||
|
public:
|
||
|
FileEnumerator(const String& fileName, Flags flags = Flags_Files);
|
||
|
~FileEnumerator();
|
||
|
|
||
|
bool Next();
|
||
|
|
||
|
Iterator begin();
|
||
|
Iterator end();
|
||
|
};
|
||
|
|
||
|
NS_BF_END;
|