// Copyright (C) 2015 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #include <memory> #include <iostream> using namespace std; class testme { public: testme(testme&&) = default; testme(const testme&) = delete; template <typename T> auto auto_return(T f) -> decltype(f(4)) { return f(4); } template <typename T> auto auto_return(T f) -> decltype(f()) { return f(); } static int returnint() { return 0; } void dostuff() { thread_local int stuff1 = 999; auto x = 4; decltype(x) asdf = 9; auto f = []() { cout << "in a lambda!" << endl; }; f(); auto_return(returnint); } template <typename ...T> void variadic_template( T&& ...args ) { } std::shared_ptr<int> asdf; }; // ------------------------------------------------------------------------------------