Nothrow front() when not empty()
anonymous via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jan 6 06:17:51 PST 2016
On 06.01.2016 14:52, Nordlöw wrote:
> At
>
> https://github.com/D-Programming-Language/phobos/pull/3752
>
> it would be nice if
>
> return !haystack.empty && haystack.front.unaryFun!pred
>
> was made nothrow.
>
> Is this possible somehow?
----
try return !haystack.empty && pred(haystack.front);
catch (Exception e) assert(false);
----
You must be 100% sure that the code cannot actually throw an Exception,
of course.
Alternatively, you could change `.front` to assert instead of throwing
an Exception, considering it a programmer error when `.empty` is not
checked before accessing `.front`.
More information about the Digitalmars-d-learn
mailing list