Hello,

I was recently exposed to this template in core.atomic:

private
{
    template HeadUnshared(T)
    {
        static if( is( T U : shared(U*) ) )
            alias shared(U)* HeadUnshared;
        else
            alias T HeadUnshared;
    }
}

Could someone please explain/elaborate on what this is doing, and why it's necessary and used so often in core.atomic?

Thanks,
Mike

Reply via email to