Future, smart pointers, range based for loop