Algebraic data types: Difference between revisions

Content added Content deleted
Line 1,283: Line 1,283:
elif idx == 2: r.value
elif idx == 2: r.value
elif idx == 3: r.right
elif idx == 3: r.right
template B[T](l: untyped, v: T, r): RBTree[T] = RBTree[T](colour: Black,
template B[T](l: untyped, v: T, r): RBTree[T] =
left: l, value: v, right: r)
RBTree[T](colour: Black, left: l, value: v, right: r)
template R[T](l: untyped, v: T, r): RBTree[T] = RBTree[T](colour: Red, left: l,
template R[T](l: untyped, v: T, r): RBTree[T] =
value: v, right: r)
RBTree[T](colour: Red, left: l, value: v, right: r)


template balImpl[T](t: typed): untyped =
template balImpl[T](t: typed): untyped =