16#ifndef LLVM_SUPPORT_REGEX_H
17#define LLVM_SUPPORT_REGEX_H
26 template<
typename T>
class SmallVectorImpl;
85 std::string *
Error =
nullptr)
const;
99 std::string *
Error =
nullptr)
const;
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.