lazy.hpp 518 B

123456789101112131415161718192021222324
  1. #ifndef META_HS_LAZY_HPP
  2. #define META_HS_LAZY_HPP
  3. // Copyright Abel Sinkovics (abel@sinkovics.hu) 2012.
  4. // Distributed under the Boost Software License, Version 1.0.
  5. // (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. #include <boost/mpl/apply_wrap.hpp>
  8. namespace lazy
  9. {
  10. template <class V>
  11. struct value
  12. {
  13. typedef V type;
  14. };
  15. template <class F, class Arg>
  16. struct application : boost::mpl::apply_wrap1<typename F::type, Arg>::type {};
  17. }
  18. #endif