Robert Schumacher e17de99599 [vcpkg] Re-layout all files using new organization scheme.
All filenames and directories are lowercase. Use dots for namespace separation.
2017-10-13 18:37:41 -07:00

27 lines
463 B
C++

#pragma once
namespace vcpkg
{
template<typename T>
class Lazy
{
public:
Lazy() : value(T()), initialized(false) {}
template<class F>
T const& get_lazy(const F& f) const
{
if (!initialized)
{
value = f();
initialized = true;
}
return value;
}
private:
mutable T value;
mutable bool initialized;
};
}