Chris@16: /////////////////////////////////////////////////////////////////////////////// Chris@16: /// \file null_eval.hpp Chris@16: /// Contains specializations of the null_eval\<\> class template. Chris@16: // Chris@16: // Copyright 2008 Eric Niebler. Distributed under the Boost Chris@16: // Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); proto::eval(proto::child_c< 4>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); proto::eval(proto::child_c< 4>(expr), ctx); proto::eval(proto::child_c< 5>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); proto::eval(proto::child_c< 4>(expr), ctx); proto::eval(proto::child_c< 5>(expr), ctx); proto::eval(proto::child_c< 6>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); proto::eval(proto::child_c< 4>(expr), ctx); proto::eval(proto::child_c< 5>(expr), ctx); proto::eval(proto::child_c< 6>(expr), ctx); proto::eval(proto::child_c< 7>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); proto::eval(proto::child_c< 4>(expr), ctx); proto::eval(proto::child_c< 5>(expr), ctx); proto::eval(proto::child_c< 6>(expr), ctx); proto::eval(proto::child_c< 7>(expr), ctx); proto::eval(proto::child_c< 8>(expr), ctx); Chris@16: } Chris@16: }; Chris@16: template Chris@16: struct null_eval Chris@16: { Chris@16: typedef void result_type; Chris@16: void operator ()(Expr &expr, Context &ctx) const Chris@16: { Chris@16: proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx); proto::eval(proto::child_c< 3>(expr), ctx); proto::eval(proto::child_c< 4>(expr), ctx); proto::eval(proto::child_c< 5>(expr), ctx); proto::eval(proto::child_c< 6>(expr), ctx); proto::eval(proto::child_c< 7>(expr), ctx); proto::eval(proto::child_c< 8>(expr), ctx); proto::eval(proto::child_c< 9>(expr), ctx); Chris@16: } Chris@16: };