std.regex.internal.backtracking
Types 2
classBacktrackingMatcher(Char, Stream = Input!Char) : Matcher!Char if (is(Char : dchar))
Fields
State.sizeof / size_t.sizeof stateSize1 << 11 initialStackRegEx reMatchFn nativeFnStream sDataIndex indexdchar frontbool exhausteduint pcDataIndex lastStateuint infiniteNestingsize_t[] memoryTrace[] mergeGroup!DataIndex[] matchessize_t _refCount__traits(hasMember, Stream, "search") kickedMethods
size_t initialMemory(const ref RegEx re)size_t stackSize(const ref RegEx re)bool atStart(){ @propertybool atEnd(){ @propertyvoid next()void search()void newStack()bool prevStack()void initExternalMemory(void[] memBlock)void initialize(ref const RegEx program, Stream stream, void[] memBlock)auto fwdMatcher(ref const RegEx re, void[] memBlock)auto bwdMatcher(ref const RegEx re, void[] memBlock)int matchFinalize()int matchImpl() puresize_t stackAvail() @propertyvoid stackPush(T)(T val) if (!isDynamicArray!T)void stackPush(T)(T[] val)void stackPop(T)(ref T val) if (!isDynamicArray!T)void stackPop(T)(T[] val)void stackPop(T)(ref T[] val)void pushState(uint pc, uint counter)bool popState()Constructors
this(ref const RegEx program, Stream stream, void[] memBlock, dchar ch, DataIndex idx)this(ref const RegEx program, MatchFn func, Stream stream, void[] memBlock)this(ref const RegEx program, Stream stream, void[] memBlock)Nested Templates
StateTracestructCtContext
Methods
CtContext lookaround(uint s, uint e)string restoreCode()string saveCode(uint pc, string count_expr = "counter")CtState ctGenBlock(const(Bytecode)[] ir, int addr)CtState ctGenGroup(ref const(Bytecode)[] ir, int addr)CtState ctGenAlternation(const(Bytecode)[] ir, int addr)string ctGenFixupCode(const(Bytecode)[] ir, int addr, int fixup)string ctGenFixupCode(ref const(Bytecode)[] ir, int addr, int fixup)string ctQuickTest(const(Bytecode)[] ir, int id)string ctAtomCode(const(Bytecode)[] ir, int addr)string ctGenRegEx(const(Bytecode)[] ir)Nested Templates
CtStateFunctions 2
fn
string ctGenRegExCode(Char)(const Regex!Char re)