October 07
Wanted! Tree Node implementation.

Like a:

mixin template TreeNode( T )
{
    T parent;
    T firstChild;
    T lastChild;
    T prevSibling;
    T nextSibling;

    // ForwardRange implementation
    @property T front() { ... }
    @property bool empty() { ... }
    void popFront() { ... }

    // BackwardRange implementation
    @property T back() { ... }
    void popBack();

    // RandomAccessRange implementation
    T opIndex( ... ) { ... }

    // length implementation
    @property size_t length() { ... }
}

It would be nice to get a link or package or source...


October 12
On Wednesday, 7 October 2020 at 14:31:20 UTC, Виталий Фадеев wrote:
> Wanted! Tree Node implementation.
>
> Like a:
>
> mixin template TreeNode( T )
> {
>     T parent;
>     T firstChild;
>     T lastChild;
>     T prevSibling;
>     T nextSibling;
>
>     // ForwardRange implementation
>     @property T front() { ... }
>     @property bool empty() { ... }
>     void popFront() { ... }
>
>     // BackwardRange implementation
>     @property T back() { ... }
>     void popBack();
>
>     // RandomAccessRange implementation
>     T opIndex( ... ) { ... }
>
>     // length implementation
>     @property size_t length() { ... }
> }
>
> It would be nice to get a link or package or source...

You can peak into the stdlibrary, how they do it: https://github.com/dlang/phobos/blob/master/std/container/rbtree.d