aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Support/Regex.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Support/Regex.h')
-rw-r--r--include/llvm/Support/Regex.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/llvm/Support/Regex.h b/include/llvm/Support/Regex.h
index 3d071be..2eea369 100644
--- a/include/llvm/Support/Regex.h
+++ b/include/llvm/Support/Regex.h
@@ -17,6 +17,7 @@
#ifndef LLVM_SUPPORT_REGEX_H
#define LLVM_SUPPORT_REGEX_H
+#include "llvm/Support/Compiler.h"
#include <string>
struct llvm_regex;
@@ -45,6 +46,17 @@ namespace llvm {
/// Compiles the given regular expression \p Regex.
Regex(StringRef Regex, unsigned Flags = NoFlags);
+ Regex(const Regex &) LLVM_DELETED_FUNCTION;
+ Regex &operator=(Regex regex) {
+ std::swap(preg, regex.preg);
+ std::swap(error, regex.error);
+ return *this;
+ }
+ Regex(Regex &&regex) {
+ preg = regex.preg;
+ error = regex.error;
+ regex.preg = NULL;
+ }
~Regex();
/// isValid - returns the error encountered during regex compilation, or
@@ -81,6 +93,9 @@ namespace llvm {
/// expression that matches Str and only Str.
static bool isLiteralERE(StringRef Str);
+ /// \brief Turn String into a regex by escaping its special characters.
+ static std::string escape(StringRef String);
+
private:
struct llvm_regex *preg;
int error;