mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
52 lines
779 B
C++
52 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;
|