Thread overview | ||||||
---|---|---|---|---|---|---|
|
November 01, 2014 Restrict Combination of moveFront and popFront to Suitable Element Types | ||||
---|---|---|---|---|
| ||||
As a follow-up question to http://forum.dlang.org/thread/jkbhlezbcrufowxtthmy@forum.dlang.org?page=3#post-zyuqclyjitbhavemmwto:40forum.dlang.org discussing the motivation for a new range primitive stealFront that combines moveFront and popFront implemented at https://github.com/nordlow/justd/blob/master/range_ex.d#L14 I then wonder if there's a way to check, using a type-trait, whether the value returned from moveFront is safe to use after popFront has been called on it. If so I want to restrict stealFront/Back with this trait. |
November 02, 2014 Re: Restrict Combination of moveFront and popFront to Suitable Element Types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On Saturday, 1 November 2014 at 21:26:49 UTC, Nordlöw wrote: > As a follow-up question to > > http://forum.dlang.org/thread/jkbhlezbcrufowxtthmy@forum.dlang.org?page=3#post-zyuqclyjitbhavemmwto:40forum.dlang.org > > discussing the motivation for a new range primitive stealFront that combines moveFront and popFront implemented at > > https://github.com/nordlow/justd/blob/master/range_ex.d#L14 > > I then wonder if there's a way to check, using a type-trait, whether the value returned from moveFront is safe to use after popFront has been called on it. If so I want to restrict stealFront/Back with this trait. Not currently, but see my proposal: http://wiki.dlang.org/User:Schuetzm/scope#scope.21.28const_....29 |
November 02, 2014 Re: Restrict Combination of moveFront and popFront to Suitable Element Types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Marc Schütz | On Sunday, 2 November 2014 at 11:55:41 UTC, Marc Schütz wrote: > On Saturday, 1 November 2014 at 21:26:49 UTC, Nordlöw wrote: >> As a follow-up question to >> >> http://forum.dlang.org/thread/jkbhlezbcrufowxtthmy@forum.dlang.org?page=3#post-zyuqclyjitbhavemmwto:40forum.dlang.org >> >> discussing the motivation for a new range primitive stealFront that combines moveFront and popFront implemented at >> >> https://github.com/nordlow/justd/blob/master/range_ex.d#L14 >> >> I then wonder if there's a way to check, using a type-trait, whether the value returned from moveFront is safe to use after popFront has been called on it. If so I want to restrict stealFront/Back with this trait. > > Not currently, but see my proposal: > http://wiki.dlang.org/User:Schuetzm/scope#scope.21.28const_....29 Thanks. A trivial solution, but probably too great restriction, would be auto stealFront(R)(ref R r) if (!hasIndirections!(ElementType!R)) a smaller restriction would be to use auto stealFront(R)(ref R r) if (!hasUnsharedAliasing!(ElementType!R)) Can hasUnsharedAliasing be used in my case? For detail see - http://dlang.org/phobos/std_traits.html#hasIndirections - http://dlang.org/phobos/std_traits.html#hasUnsharedAliasing |
May 11, 2016 Re: Restrict Combination of moveFront and popFront to Suitable Element Types | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On Saturday, 1 November 2014 at 21:26:49 UTC, Nordlöw wrote: > https://github.com/nordlow/justd/blob/master/range_ex.d#L14 Moved here https://github.com/nordlow/phobos-next/blob/master/src/range_ex.d#L66 |
Copyright © 1999-2021 by the D Language Foundation