RCString.opBinaryRight

  1. typeof(this) opBinaryRight(string rhs)
  2. typeof(this) opBinaryRight(C c)
  3. typeof(this) opBinaryRight(R lhs)
    struct RCString
    typeof(this)
    opBinaryRight
    (
    string op
    R
    )
    (
    R lhs
    )
    if (
    op == "~" &&
    isInputRange!R
    &&
    isSomeChar!(ElementType!R)
    &&
    !isSomeString!R
    )
  4. auto opBinaryRight(string rhs)

Examples

auto r1 = RCString("abc");
auto r2 = RCString("def");
assert((r1 ~ r2).equal("abcdef"));
assert((r1 ~ "foo").equal("abcfoo"));
assert(("abc" ~ r2).equal("abcdef"));
assert((r1 ~ 'd').equal("abcd"));
assert(('a' ~ r2).equal("adef"));
import std.range : take;
import std.utf : byCodeUnit;
auto r1 = RCString("abc");
auto r2 = "def".byCodeUnit.take(3);
assert((r1 ~ r2).equal("abcdef"));
assert((r2 ~ r1).equal("defabc"));

Meta