9 using std::enable_if_t;
11 using std::is_invocable_v;
13 using std::remove_reference;
15 using std::unique_lock;
18 template <
typename Prov
ider>
auto const & operator[](T t) const
Definition: lazy.hpp:79
~Lazy()
Definition: lazy.hpp:33
val_t * get()
Definition: lazy.hpp:42
mutex mu_
Definition: lazy.hpp:27
auto & operator=(T t)
Definition: lazy.hpp:84
Provider * provider_
Definition: lazy.hpp:20
Lazy(Provider const &provider)
Definition: lazy.hpp:31
val_t * operator->()
Definition: lazy.hpp:62
val_t & operator*()
Definition: lazy.hpp:65
val_t const & operator*() const
Definition: lazy.hpp:66
val_t const * get() const
Definition: lazy.hpp:60
val_t * val_ptr_
Definition: lazy.hpp:26
Lazy(Provider &&provider)
Definition: lazy.hpp:32
auto & operator[](T t)
Definition: lazy.hpp:74
typename remove_reference< decltype((*provider_)())>::type val_t
Definition: lazy.hpp:23
bool initializing_
Definition: lazy.hpp:28
val_t const * operator->() const
Definition: lazy.hpp:63