src/pylib/builtins/iters/macroutils

Source   Edit  

Types

PreBreakCb = proc (i: NimNode): NimNode {.closure.}
Source   Edit  

Lets

emptyn {.compileTime.} = newEmptyNode()
Source   Edit  

Consts

preferredGenIterResName {.strdefine.} = "gen_iter_res"
Source   Edit  

Procs

proc addEachIter(loopBody: NimNode; nIt: int; itors, res: NimNode;
                 preBreakCb: PreBreakCb = noopPreBreakCb) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc addLoopEach(loopBody: NimNode; parent: NimNode;
                 iterables: NimNode | seq[NimNode];
                 res = ident preferredGenIterResName;
                 preBreakCb: PreBreakCb = noopPreBreakCb): NimNode {.discardable.}
returns res type (a tuple) Source   Edit  
proc addResDecl(body: NimNode; iterables: NimNode | seq[NimNode];
                res = ident preferredGenIterResName;
                iters = genSym(nskLet, "iters")): NimNode {.discardable.}
returns res type (a tuple) Source   Edit  
proc addYield(res, dest: NimNode) {....raises: [], tags: [], forbids: [].}
Source   Edit  
func newLoop(body: NimNode): NimNode {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc newNullaryLambdaIter(body: NimNode; resType = ident"auto"): NimNode {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
func newTuple(): NimNode {....raises: [], tags: [], forbids: [].}
Source   Edit  
func noInitVarDecl(name, Type: NimNode): NimNode {....raises: [], tags: [],
    forbids: [].}
Source   Edit