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.