Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work

源代码在线查看: null.hpp

软件大小: 35482 K
上传用户: sinba
关键词: libraries peer-reviewed emphasize provides
下载地址: 免注册下载 普通下载 VIP

相关代码

				#ifndef BOOST_PP_IS_ITERATING				    ///////////////////////////////////////////////////////////////////////////////				    /// \file null.hpp				    /// Definintion of null_context\, an evaluation context for				    /// proto::eval() that simply evaluates each child expression, doesn't				    /// combine the results at all, and returns void.				    //				    //  Copyright 2008 Eric Niebler. Distributed under the Boost				    //  Software License, Version 1.0. (See accompanying file				    //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)								    #ifndef BOOST_PROTO_CONTEXT_NULL_HPP_EAN_06_24_2007				    #define BOOST_PROTO_CONTEXT_NULL_HPP_EAN_06_24_2007								    #include  // must be first include				    #include 				    #include 				    #include 				    #include 				    #include 				    #include  // must be last include								    namespace boost { namespace proto { namespace context				    {								        template				            typename Expr				          , typename Context				          , long Arity          BOOST_PROTO_FOR_DOXYGEN_ONLY(= Expr::proto_arity::value)				        >				        struct null_eval				        {};								        template				        struct null_eval				        {				            typedef void result_type;				            void operator()(Expr &, Context &) const				            {}				        };								    #define BOOST_PROTO_EVAL_N(Z, N, DATA)                                                          \				        proto::eval(proto::arg_c(expr), ctx);                                                    \				        /**/								    #define BOOST_PP_ITERATION_PARAMS_1                                                             \				        (3, (1, BOOST_PROTO_MAX_ARITY, ))                   \				        /**/								    #include BOOST_PP_ITERATE()								    #undef BOOST_PROTO_EVAL_N								        /// null_context				        ///				        struct null_context				        {				            /// null_context::eval				            ///				            template				            struct eval				              : null_eval				            {};				        };								    }}}								    #endif								#else								    #define N BOOST_PP_ITERATION()								        template				        struct null_eval				        {				            typedef void result_type;								            void operator ()(Expr &expr, Context &ctx) const				            {				                BOOST_PP_REPEAT(N, BOOST_PROTO_EVAL_N, ~)				            }				        };								    #undef N								#endif							

相关资源