1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #ifndef BOOST_PROTO_CONTEXT_NULL_HPP_EAN_06_24_2007
- #define BOOST_PROTO_CONTEXT_NULL_HPP_EAN_06_24_2007
- #include <boost/preprocessor/iteration/iterate.hpp>
- #include <boost/preprocessor/repetition/repeat.hpp>
- #include <boost/proto/proto_fwd.hpp>
- #include <boost/proto/eval.hpp>
- #include <boost/proto/traits.hpp>
- namespace boost { namespace proto { namespace context
- {
- template<
- typename Expr
- , typename Context
- , long Arity
- >
- struct null_eval
- {};
- template<typename Expr, typename Context>
- struct null_eval<Expr, Context, 0>
- {
- typedef void result_type;
- void operator()(Expr &, Context &) const
- {}
- };
-
- #include <boost/proto/context/detail/null_eval.hpp>
-
-
- struct null_context
- {
-
-
- template<typename Expr, typename ThisContext = null_context const>
- struct eval
- : null_eval<Expr, ThisContext>
- {};
- };
- }}}
- #endif
|