troykaGalop

Iterates union using three functions to handle each intersection case separately.

  1. void troykaGalop(Series!(IndexIterL, IterL, LN, lkind) lhs, Series!(IndexIterR, IterR, RN, rkind) rhs)
    template troykaGalop(alias lfun, alias cfun, alias rfun)
    pragma(inline, false)
    @optmath
    void
    troykaGalop
    (
    IndexIterL
    IterL
    size_t LN
    SliceKind lkind
    IndexIterR
    IterR
    size_t RN
    SliceKind rkind
    )
    (
    Series!(IndexIterL, IterL, LN, lkind) lhs
    ,
    Series!(IndexIterR, IterR, RN, rkind) rhs
    )
  2. void troykaGalop(LeftRange lhs, RightRange rhs)

Members

Functions

troykaGalop
void troykaGalop(Series!(IndexIterL, IterL, LN, lkind) lhs, Series!(IndexIterR, IterR, RN, rkind) rhs)
troykaGalop
void troykaGalop(LeftRange lhs, RightRange rhs)

Parameters

lfun

binary function that accepts left side key (and left side value)

cfun

trinary function that accepts left side key, (left side value,) and right side value

rfun

binary function that accepts right side key (and right side value)

Meta