123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #ifndef BOOST_HANA_FWD_LAZY_HPP
- #define BOOST_HANA_FWD_LAZY_HPP
- #include <boost/hana/config.hpp>
- #include <boost/hana/fwd/core/make.hpp>
- namespace boost { namespace hana {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #ifdef BOOST_HANA_DOXYGEN_INVOKED
- template <typename implementation_defined>
- struct lazy {
-
- template <typename ...T, typename F>
- friend constexpr auto operator|(lazy<T...>, F);
- };
- #else
-
-
-
-
- #endif
-
-
- struct lazy_tag { };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #ifdef BOOST_HANA_DOXYGEN_INVOKED
- template <>
- constexpr auto make<lazy_tag> = [](auto&& x) {
- return lazy<implementation_defined>{forwarded(x)};
- };
- #endif
-
-
-
-
-
-
- BOOST_HANA_INLINE_VARIABLE constexpr auto make_lazy = make<lazy_tag>;
- }}
- #endif
|