|
/**
\file FileGlobBase.cpp
This file contains the class definition of the FileGlobBase class.
**/
#pragma once
#pragma warning( disable: 4702 )
#include <list>
#include <string>
#include <algorithm>
/**
The base class of all file glob matching classes. Derived classes should
provide an implementation for FoundMatch().
\sa MatchPattern
**/
class FileGlobBase
{
public:
FileGlobBase();
void MatchPattern( const char* inPattern );
void AddExclusivePattern( const char* name );
void AddIgnorePattern( const char* name );
virtual void FoundMatch( const char* name ) = 0;
protected:
bool MatchExclusivePattern( const char* name );
bool MatchIgnorePattern( const char* name );
void GlobHelper( const char* inPattern );
private:
typedef std::list< std::string > StringList;
StringList m_exclusiveFilePatterns;
StringList m_ignorePatterns;
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Joshua Jensen is a gamer at heart and as such, creates games for a living. He has the distinct pleasure of creating titles exclusively for the Xbox.
In his spare time, he maintains a Visual C++ add-in called Workspace Whiz! Find it at http://workspacewhiz.com/.