1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00
Beef/BeefySysLib/util/FileEnumerator.h
2019-08-23 11:56:54 -07:00

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;