On Friday, 10 January 2014 at 20:43:31 UTC, John Colvin wrote:
On Friday, 10 January 2014 at 20:33:29 UTC, monarch_dodra wrote:
On Friday, 10 January 2014 at 20:23:32 UTC, John Colvin wrote:
It's not ideal as full-speed performance depends on the Take struct being optimised away, but there is always:

auto blah  = range.takeOne.front;

What's that the point of writing that over:
auto blah  = range.front;
?

oh... I thought the take functions advanced the range.

Well, first, you'd have to actually *pop* said take range. Here, you are just building one, and taking its front, but not popping it. Second, the range would have to be an actual reference type, or you'd just be popping a copy of the original range. And still, that's if its not outright sliced.

The inclusion of "takeOne" here seems not only useless, but potentially counterproductive to what we are trying to achieve.

Reply via email to