On 12/02/2018 8:35 AM, Nathan S. wrote:
For example in std.container.rbtree:

---
     auto equalRange(this This)(Elem e)
     {
         auto beg = _firstGreaterEqual(e);
         alias RangeType = RBRange!(typeof(beg));
         if (beg is _end || _less(e, beg.value))
             // no values are equal
             return RangeType(beg, beg);
         static if (allowDuplicates)
         {
             return RangeType(beg, _firstGreater(e));
         }
         else
         {
             // no sense in doing a full search, no duplicates are allowed,
             // so we just get the next node.
             return RangeType(beg, beg.next);
         }
     }
---

https://dlang.org/spec/template.html#TemplateThisParameter

Reply via email to