class StringSwitch
Declaration
template <typename T, typename R = T>
class StringSwitch { /* full declaration omitted */ };
Description
A switch()-like statement whose cases are string literals. The StringSwitch class is a simple form of a switch() statement that determines whether the given string matches one of the given string literals. The template type parameter \p T is the type of the value that will be returned from the string-switch expression. For example, the following code switches on the name of a color in \c argv[i]:
Declared at: llvm/include/llvm/ADT/StringSwitch.h:42
Templates
- T
- R = T
Method Overview
- public StringSwitch<T, R> & Case(llvm::StringLiteral S, T Value)
- public StringSwitch<T, R> & CaseLower(llvm::StringLiteral S, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, llvm::StringLiteral S5, llvm::StringLiteral S6, llvm::StringLiteral S7, llvm::StringLiteral S8, llvm::StringLiteral S9, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, llvm::StringLiteral S5, llvm::StringLiteral S6, llvm::StringLiteral S7, llvm::StringLiteral S8, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, llvm::StringLiteral S5, llvm::StringLiteral S6, llvm::StringLiteral S7, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, llvm::StringLiteral S5, T Value)
- public StringSwitch<T, R> & Cases(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, llvm::StringLiteral S5, llvm::StringLiteral S6, T Value)
- public StringSwitch<T, R> & CasesLower(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, T Value)
- public StringSwitch<T, R> & CasesLower(llvm::StringLiteral S0, llvm::StringLiteral S1, T Value)
- public StringSwitch<T, R> & CasesLower(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, T Value)
- public StringSwitch<T, R> & CasesLower(llvm::StringLiteral S0, llvm::StringLiteral S1, llvm::StringLiteral S2, llvm::StringLiteral S3, llvm::StringLiteral S4, T Value)
- public R Default(T Value)
- public StringSwitch<T, R> & EndsWith(llvm::StringLiteral S, T Value)
- public StringSwitch<T, R> & EndsWithLower(llvm::StringLiteral S, T Value)
- public StringSwitch<T, R> & StartsWith(llvm::StringLiteral S, T Value)
- public StringSwitch<T, R> & StartsWithLower(llvm::StringLiteral S, T Value)
- public StringSwitch<T, R>(const StringSwitch<T, R> &)
- public StringSwitch<T, R>(StringSwitch<T, R> && other)
- public StringSwitch<T, R>(llvm::StringRef S)
- public R operator type-parameter-0-1()
- public ~StringSwitch<T, R>()
Methods
¶StringSwitch<T, R>& Case(llvm::StringLiteral S,
T Value)
StringSwitch<T, R>& Case(llvm::StringLiteral S,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:67
Parameters
- llvm::StringLiteral S
- T Value
¶StringSwitch<T, R>& CaseLower(
llvm::StringLiteral S,
T Value)
StringSwitch<T, R>& CaseLower(
llvm::StringLiteral S,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:140
Parameters
- llvm::StringLiteral S
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
llvm::StringLiteral S7,
llvm::StringLiteral S8,
llvm::StringLiteral S9,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
llvm::StringLiteral S7,
llvm::StringLiteral S8,
llvm::StringLiteral S9,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:132
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- llvm::StringLiteral S5
- llvm::StringLiteral S6
- llvm::StringLiteral S7
- llvm::StringLiteral S8
- llvm::StringLiteral S9
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
llvm::StringLiteral S7,
llvm::StringLiteral S8,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
llvm::StringLiteral S7,
llvm::StringLiteral S8,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:125
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- llvm::StringLiteral S5
- llvm::StringLiteral S6
- llvm::StringLiteral S7
- llvm::StringLiteral S8
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
llvm::StringLiteral S7,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
llvm::StringLiteral S7,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:119
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- llvm::StringLiteral S5
- llvm::StringLiteral S6
- llvm::StringLiteral S7
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:88
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:92
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:97
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:102
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:107
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- llvm::StringLiteral S5
- T Value
¶StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
T Value)
StringSwitch<T, R>& Cases(llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
llvm::StringLiteral S5,
llvm::StringLiteral S6,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:113
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- llvm::StringLiteral S5
- llvm::StringLiteral S6
- T Value
¶StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
T Value)
StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:165
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- T Value
¶StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
T Value)
StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:161
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- T Value
¶StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
T Value)
StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:170
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- T Value
¶StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
T Value)
StringSwitch<T, R>& CasesLower(
llvm::StringLiteral S0,
llvm::StringLiteral S1,
llvm::StringLiteral S2,
llvm::StringLiteral S3,
llvm::StringLiteral S4,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:175
Parameters
- llvm::StringLiteral S0
- llvm::StringLiteral S1
- llvm::StringLiteral S2
- llvm::StringLiteral S3
- llvm::StringLiteral S4
- T Value
¶R Default(T Value)
R Default(T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:181
Parameters
- T Value
¶StringSwitch<T, R>& EndsWith(
llvm::StringLiteral S,
T Value)
StringSwitch<T, R>& EndsWith(
llvm::StringLiteral S,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:74
Parameters
- llvm::StringLiteral S
- T Value
¶StringSwitch<T, R>& EndsWithLower(
llvm::StringLiteral S,
T Value)
StringSwitch<T, R>& EndsWithLower(
llvm::StringLiteral S,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:147
Parameters
- llvm::StringLiteral S
- T Value
¶StringSwitch<T, R>& StartsWith(
llvm::StringLiteral S,
T Value)
StringSwitch<T, R>& StartsWith(
llvm::StringLiteral S,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:81
Parameters
- llvm::StringLiteral S
- T Value
¶StringSwitch<T, R>& StartsWithLower(
llvm::StringLiteral S,
T Value)
StringSwitch<T, R>& StartsWithLower(
llvm::StringLiteral S,
T Value)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:154
Parameters
- llvm::StringLiteral S
- T Value
¶StringSwitch<T, R>(const StringSwitch<T, R>&)
StringSwitch<T, R>(const StringSwitch<T, R>&)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:55
Parameters
- const StringSwitch<T, R>&
¶StringSwitch<T, R>(StringSwitch<T, R>&& other)
StringSwitch<T, R>(StringSwitch<T, R>&& other)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:61
Parameters
- StringSwitch<T, R>&& other
¶StringSwitch<T, R>(llvm::StringRef S)
StringSwitch<T, R>(llvm::StringRef S)
Declared at: llvm/include/llvm/ADT/StringSwitch.h:51
Parameters
¶R operator type - parameter - 0 - 1()
R operator type - parameter - 0 - 1()
Declared at: llvm/include/llvm/ADT/StringSwitch.h:188
¶~StringSwitch<T, R>()
~StringSwitch<T, R>()
Declared at: llvm/include/llvm/ADT/StringSwitch.h:64