#include "llvm/Support/Regex.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "regex_impl.h"
#include <cassert>
#include <string>
usingnamespacellvm;
Regex::Regex() : … { … }
Regex::Regex(StringRef regex, RegexFlags Flags) { … }
Regex::Regex(StringRef regex, unsigned Flags)
: … { … }
Regex::Regex(Regex &®ex) { … }
Regex::~Regex() { … }
namespace {
void RegexErrorToString(int error, struct llvm_regex *preg,
std::string &Error) { … }
}
bool Regex::isValid(std::string &Error) const { … }
unsigned Regex::getNumMatches() const { … }
bool Regex::match(StringRef String, SmallVectorImpl<StringRef> *Matches,
std::string *Error) const { … }
std::string Regex::sub(StringRef Repl, StringRef String,
std::string *Error) const { … }
static const char RegexMetachars[] = …;
bool Regex::isLiteralERE(StringRef Str) { … }
std::string Regex::escape(StringRef String) { … }