summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-01-02 19:04:59 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-01-02 19:04:59 +0000
commitc265f066971a3df6b0ec546311e63a3efe812e40 (patch)
treec96547b47041f981680fa421e595a7fc86afc173 /include
parentf828e82891fe49152f24b7a6cb8145a07271f573 (diff)
downloadllvm-c265f066971a3df6b0ec546311e63a3efe812e40.tar.gz
llvm-c265f066971a3df6b0ec546311e63a3efe812e40.tar.bz2
llvm-c265f066971a3df6b0ec546311e63a3efe812e40.tar.xz
Make llvm::Regex non-copyable but movable.
Based on a patch by Maciej Piechotka. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198334 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Support/Regex.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/Support/Regex.h b/include/llvm/Support/Regex.h
index 21677dcfa1..5f1031ef36 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,19 @@ 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;
+ }
+#if LLVM_HAS_RVALUE_REFERENCES
+ Regex(Regex &&regex) {
+ preg = regex.preg;
+ error = regex.error;
+ regex.preg = NULL;
+ }
+#endif
~Regex();
/// isValid - returns the error encountered during regex compilation, or