Lazy evaluation for C++11