46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
|
// Filename: ppFilenamePattern.h
|
||
|
// Created by: drose (25Sep00)
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef PPFILENAMEPATTERN_H
|
||
|
#define PPFILENAMEPATTERN_H
|
||
|
|
||
|
#include "ppremake.h"
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////
|
||
|
// Class : PPFilenamePattern
|
||
|
// Description : This is a string that represents a filename, or a
|
||
|
// family of filenames, using the make convention that a
|
||
|
// wildcard sign (PATTERN_WILDCARD, typically '%') in
|
||
|
// the filename represents any sequence of characters.
|
||
|
////////////////////////////////////////////////////////////////////
|
||
|
class PPFilenamePattern {
|
||
|
public:
|
||
|
PPFilenamePattern(const string &pattern);
|
||
|
PPFilenamePattern(const PPFilenamePattern ©);
|
||
|
void operator = (const PPFilenamePattern ©);
|
||
|
|
||
|
bool has_wildcard() const;
|
||
|
string get_pattern() const;
|
||
|
const string &get_prefix() const;
|
||
|
const string &get_suffix() const;
|
||
|
|
||
|
bool matches(const string &filename) const;
|
||
|
string extract_body(const string &filename) const;
|
||
|
string transform(const string &filename,
|
||
|
const PPFilenamePattern &transform_from) const;
|
||
|
|
||
|
private:
|
||
|
bool _has_wildcard;
|
||
|
string _prefix;
|
||
|
string _suffix;
|
||
|
};
|
||
|
|
||
|
inline ostream &
|
||
|
operator << (ostream &out, const PPFilenamePattern &pattern) {
|
||
|
return out << pattern.get_pattern();
|
||
|
}
|
||
|
|
||
|
#endif
|