#include <vector>
-using std::vector;
-using std::pair;
-
///
class LRegex {
public:
///
+ explicit
LRegex(string const & regex);
///
~LRegex();
///
- typedef pair<string::size_type, string::size_type> MatchPair;
+ typedef std::pair<string::size_type, string::size_type> MatchPair;
///
- typedef vector<MatchPair> SubMatches;
+ typedef std::vector<MatchPair> SubMatches;
/// Returns all the matches in a vector
SubMatches const & exec(string const & str) const;
bool exact_match(string const & str) const;
///
- MatchPair first_match(string const & str) const;
+ MatchPair const first_match(string const & str) const;
///
- string getError() const;
+ string const getError() const;
///
int getErrorCode() const;
Impl * impl;
};
-
-// We comment out these, we can comment them in when we need them.
-#if 0
-// some built in regular expressions
-
-extern const LRegex LRXwhite; // = "[ \n\t\r\v\f]+"
-extern const LRegex LRXint; // = "-?[0-9]+"
-extern const LRegex LRXdouble; // = "-?\\(\\([0-9]+\\.[0-9]*\\)\\|
- // \\([0-9]+\\)\\|\\(\\.[0-9]+\\)\\)
- // \\([eE][---+]?[0-9]+\\)?"
-//extern const LRegex LRXalpha; // = "[A-Za-z]+"
-//extern const LRegex LRXlowercase; // = "[a-z]+"
-//extern const LRegex LRXuppercase; // = "[A-Z]+"
-//extern const LRegex LRXalphanum; // = "[0-9A-Za-z]+"
-extern const LRegex LRXidentifier; // = "[A-Za-z_][A-Za-z0-9_]*"
-#endif
#endif