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