LLVM: include/llvm/Support/Regex.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef LLVM_SUPPORT_REGEX_H
17#define LLVM_SUPPORT_REGEX_H
18
20#include
21
23
24namespace llvm {
25 class StringRef;
26 template class SmallVectorImpl;
27
29 public:
32
34
35
36
37
38
40
41
42
44
46 };
47
49
50
51
52
59 return *this;
60 }
63
64
65
67 bool isValid() const { return !error; }
68
69
70
71
73
74
75
76
77
78
79
80
81
82
83
85 std::string *Error = nullptr) const;
86
87
88
89
90
91
92
93
94
95
96
97
99 std::string *Error = nullptr) const;
100
101
102
104
105
107
108 private:
111 };
112}
113
114#endif
Lightweight error class with error context and mandatory checking.
Regex(const Regex &)=delete
@ Newline
Compile for newline-sensitive matching.
@ IgnoreCase
Compile for matching that ignores upper/lower case distinctions.
@ BasicRegex
By default, the POSIX extended regular expression (ERE) syntax is assumed.
static std::string escape(StringRef String)
Turn String into a regex by escaping its special characters.
Regex & operator=(Regex regex)
std::string sub(StringRef Repl, StringRef String, std::string *Error=nullptr) const
sub - Return the result of replacing the first match of the regex in String with the Repl string.
static bool isLiteralERE(StringRef Str)
If this function returns true, ^Str$ is an extended regular expression that matches Str and only Str.
unsigned getNumMatches() const
getNumMatches - In a valid regex, return the number of parenthesized matches it contains.
bool match(StringRef String, SmallVectorImpl< StringRef > *Matches=nullptr, std::string *Error=nullptr) const
matches - Match the regex against a given String.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.
@ LLVM_MARK_AS_BITMASK_ENUM
void swap(llvm::BitVector &LHS, llvm::BitVector &RHS)
Implement std::swap in terms of BitVector swap.