redBlackTree

Convenience function for creating a RedBlackTree!E from a list of values.

  1. auto redBlackTree(E[] elems)
  2. auto redBlackTree(E[] elems)
  3. auto redBlackTree(E[] elems)
  4. auto redBlackTree(E[] elems)
  5. auto redBlackTree(Stuff range)
  6. auto redBlackTree(Stuff range)
  7. auto redBlackTree(Stuff range)
  8. auto redBlackTree(Stuff range)
    redBlackTree
    (
    alias less
    bool allowDuplicates
    Stuff
    )
    (
    Stuff range
    )
    if (
    is(typeof(binaryFun!less((ElementType!Stuff).init, (ElementType!Stuff).init))) &&
    isInputRange!Stuff
    &&
    !isArray!(Stuff)
    )

Parameters

allowDuplicates

Whether duplicates should be allowed (optional, default: false)

less

predicate to sort by (optional)

range Stuff

range elements to insert into the rbtree (alternative to elems)

Examples

import std.range : iota;

auto rbt1 = redBlackTree(0, 1, 5, 7);
auto rbt2 = redBlackTree!string("hello", "world");
auto rbt3 = redBlackTree!true(0, 1, 5, 7, 5);
auto rbt4 = redBlackTree!"a > b"(0, 1, 5, 7);
auto rbt5 = redBlackTree!("a > b", true)(0.1, 1.3, 5.9, 7.2, 5.9);

// also works with ranges
auto rbt6 = redBlackTree(iota(3));
auto rbt7 = redBlackTree!true(iota(3));
auto rbt8 = redBlackTree!"a > b"(iota(3));
auto rbt9 = redBlackTree!("a > b", true)(iota(3));