December 01, 2013
http://rosettacode.org/wiki/Variable-length_quantity#D

ulong value = 0x100;
ubyte[] v = [0x7f & value];
for (ulong k = value >>> 7; k > 0; k >>>= 7)
{
  v ~= (k & 0x7f) | 0x80;
  if (v.length > 9)
  {
    throw new Exception("Too large value.");
  }
}
v.reverse();

while porting this to D i stumple accross the ">>>" - why is that allowed in D?
December 01, 2013
On Sunday, December 01, 2013 08:06:26 dennis luehring wrote:
> http://rosettacode.org/wiki/Variable-length_quantity#D
> 
> ulong value = 0x100;
> ubyte[] v = [0x7f & value];
> for (ulong k = value >>> 7; k > 0; k >>>= 7)
> {
>    v ~= (k & 0x7f) | 0x80;
>    if (v.length > 9)
>    {
>      throw new Exception("Too large value.");
>    }
> }
> v.reverse();
> 
> while porting this to D i stumple accross the ">>>" - why is that allowed in D?

http://dlang.org/expression.html#ShiftExpression http://dlang.org/expression.html#AssignExpression

- Jonathan M Davis