On Friday, 10 January 2014 at 15:19:39 UTC, John Colvin wrote:
On Friday, 10 January 2014 at 15:05:18 UTC, monarch_dodra wrote:
On Friday, 10 January 2014 at 14:31:31 UTC, John Colvin wrote:
or if you want something short and simple, define a free function:
auto popFrontRet(R)(ref R range)
  if(isInputRange!R)
{
  range.popFront();
  assert(!range.empty);
  return range.front;
}

*Unless* I'm mistaken, he was asking for something that returns the *popped* element?

Re-reading the question, it does kind of sound a bit ambiguous now.

Woops, of course:

auto popFrontRet(R)(ref R range)
    if(isInputRange!R)
{
    auto tmp = range.front;
    range.popFront();
}


That also invalidates my second point to do with emptiness.

ugh, today is not my day:

auto popFrontRet(R)(ref R range)
    if(isInputRange!R)
{
    auto tmp = range.front;
    range.popFront();
    return tmp;
}

Reply via email to