5#ifndef V8_REGEXP_REGEXP_FLAGS_H_
6#define V8_REGEXP_REGEXP_FLAGS_H_
21#define REGEXP_FLAG_LIST(V) \
22 V(has_indices, HasIndices, hasIndices, 'd', 7) \
23 V(global, Global, global, 'g', 0) \
24 V(ignore_case, IgnoreCase, ignoreCase, 'i', 1) \
25 V(linear, Linear, linear, 'l', 6) \
26 V(multiline, Multiline, multiline, 'm', 2) \
27 V(dot_all, DotAll, dotAll, 's', 5) \
28 V(unicode, Unicode, unicode, 'u', 4) \
29 V(unicode_sets, UnicodeSets, unicodeSets, 'v', 8) \
30 V(sticky, Sticky, sticky, 'y', 3)
32#define V(Lower, Camel, LowerCamel, Char, Bit) k##Camel = 1 << Bit,
41#define V(Lower, Camel, LowerCamel, Char, Bit) < Char) && (Char
46#define V(Lower, Camel, LowerCamel, Char, Bit) | (1 << Bit)
54#define V(Lower, Camel, ...) \
55 constexpr bool Is##Camel(RegExpFlags f) { \
56 return (f & RegExpFlag::k##Camel) != 0; \
62 return IsUnicode(f) || IsUnicodeSets(f);
72#define V(Lower, Camel, LowerCamel, Char, Bit) \
73 c == Char ? RegExpFlag::k##Camel :
#define DEFINE_OPERATORS_FOR_FLAGS(Type)
constexpr std::optional< RegExpFlag > TryRegExpFlagFromChar(char c)
constexpr bool IsEitherUnicode(RegExpFlags f)
constexpr int kRegExpFlagCount
constexpr bool ShouldOptionallyStepBackToLeadSurrogate(RegExpFlags f)
std::ostream & operator<<(std::ostream &os, AtomicMemoryOrder order)
base::Flags< RegExpFlag > RegExpFlags