zturner added a comment.
Also I think it doesn't need to be specific to member variables. We could just
have
template <typename T> class Lazy {
std::function<T()> Update;
Optional<T> Value;
public:
LazyValue(std::function<T()> Update) : Update(std::move(Update)) {}
};
Then, to get the same member functionality, you could just say:
struct Foo {
Foo() : LazyBool([this]() { return expensiveComputeBool(); }) {}
Lazy<bool> LazyBool;
bool expensiveComputeBool();
};
Repository:
rLLDB LLDB
https://reviews.llvm.org/D51557
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits