1 #ifndef CommonTools_Utils_LazyConstructed_h
2 #define CommonTools_Utils_LazyConstructed_h
27 template <
class WrappedClass,
class... Args>
42 template <std::size_t... ArgIndices>
47 std::optional<WrappedClass>
object_ = std::nullopt;
48 std::tuple<Args
const&...>
args_;
52 template <
class WrappedClass,
class... Args>
auto makeLazy(Args &&...args)
std::tuple< Args const &...> args_
std::optional< WrappedClass > object_
void evaluateImpl(std::index_sequence< ArgIndices...>)
LazyConstructed(Args const &...args)