PageRenderTime 49ms CodeModel.GetById 9ms app.highlight 37ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/proto/context/detail/preprocessed/null_eval.hpp

http://hadesmem.googlecode.com/
C++ Header | 97 lines | 90 code | 0 blank | 7 comment | 0 complexity | 7caa8d706ac2c210c3de29db0f283fbf MD5 | raw file
 1    ///////////////////////////////////////////////////////////////////////////////
 2    /// \file null_eval.hpp
 3    /// Contains specializations of the null_eval\<\> class template.
 4    //
 5    //  Copyright 2008 Eric Niebler. Distributed under the Boost
 6    //  Software License, Version 1.0. (See accompanying file
 7    //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 8    template<typename Expr, typename Context>
 9    struct null_eval<Expr, Context, 1>
10    {
11        typedef void result_type;
12        void operator ()(Expr &expr, Context &ctx) const
13        {
14            proto::eval(proto::child_c< 0>(expr), ctx);
15        }
16    };
17    template<typename Expr, typename Context>
18    struct null_eval<Expr, Context, 2>
19    {
20        typedef void result_type;
21        void operator ()(Expr &expr, Context &ctx) const
22        {
23            proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx);
24        }
25    };
26    template<typename Expr, typename Context>
27    struct null_eval<Expr, Context, 3>
28    {
29        typedef void result_type;
30        void operator ()(Expr &expr, Context &ctx) const
31        {
32            proto::eval(proto::child_c< 0>(expr), ctx); proto::eval(proto::child_c< 1>(expr), ctx); proto::eval(proto::child_c< 2>(expr), ctx);
33        }
34    };
35    template<typename Expr, typename Context>
36    struct null_eval<Expr, Context, 4>
37    {
38        typedef void result_type;
39        void operator ()(Expr &expr, Context &ctx) const
40        {
41            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);
42        }
43    };
44    template<typename Expr, typename Context>
45    struct null_eval<Expr, Context, 5>
46    {
47        typedef void result_type;
48        void operator ()(Expr &expr, Context &ctx) const
49        {
50            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);
51        }
52    };
53    template<typename Expr, typename Context>
54    struct null_eval<Expr, Context, 6>
55    {
56        typedef void result_type;
57        void operator ()(Expr &expr, Context &ctx) const
58        {
59            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);
60        }
61    };
62    template<typename Expr, typename Context>
63    struct null_eval<Expr, Context, 7>
64    {
65        typedef void result_type;
66        void operator ()(Expr &expr, Context &ctx) const
67        {
68            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);
69        }
70    };
71    template<typename Expr, typename Context>
72    struct null_eval<Expr, Context, 8>
73    {
74        typedef void result_type;
75        void operator ()(Expr &expr, Context &ctx) const
76        {
77            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);
78        }
79    };
80    template<typename Expr, typename Context>
81    struct null_eval<Expr, Context, 9>
82    {
83        typedef void result_type;
84        void operator ()(Expr &expr, Context &ctx) const
85        {
86            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);
87        }
88    };
89    template<typename Expr, typename Context>
90    struct null_eval<Expr, Context, 10>
91    {
92        typedef void result_type;
93        void operator ()(Expr &expr, Context &ctx) const
94        {
95            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);
96        }
97    };