The type used when any slice of the original range of characters is used. If the range was a string or supports slicing, then SliceOfR is the same type as the range; otherwise, it's the result of calling $(PHOBOS_REF takeExactly, std, range) on it.

import std.algorithm : filter;
import std.range : takeExactly;

static assert(is(DOMEntity!string.SliceOfR == string));

auto range = filter!(a => true)("some xml");

static assert(is(DOMEntity!(typeof(range)).SliceOfR ==
                 typeof(takeExactly(range, 42))));
  1. alias SliceOfR = R
    struct DOMEntity(R)
    static if(isDynamicArray!R || hasSlicing!R)
    alias SliceOfR = R
  2. alias SliceOfR = typeof(takeExactly(R.init, 42))