45 return [t] {
return t; };
48 template<
typename R,
typename F>
59 return [] {
return Util::Mzero<T> (); };
66 const auto rt1 = t1 ();
67 return rt1 != Util::Mzero<T> () ? rt1 : t2 ();
static Lazy_t< T > Mzero()
Lazy_t< T > MakeLazy(const T &t)
std::function< T()> Lazy_t
Lazy_t< R > MakeLazyF(const F &l)
static Lazy_t< T > Mplus(const Lazy_t< T > &t1, const Lazy_t< T > &t2)