blob: e2980fd0791521fb0262b685b964ada9e2b4114b [file] [log] [blame]
Jeff Thompsonf7d49942013-08-01 16:47:40 -07001# /* Copyright (C) 2001
2# * Housemarque Oy
3# * http://www.housemarque.com
4# *
5# * Distributed under the Boost Software License, Version 1.0. (See
6# * accompanying file LICENSE_1_0.txt or copy at
7# * http://www.boost.org/LICENSE_1_0.txt)
8# */
9#
10# /* Revised by Paul Mensonides (2002) */
11#
12# /* See http://www.boost.org for most recent version. */
13#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070014# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
15# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
Jeff Thompsonf7d49942013-08-01 16:47:40 -070016#
Jeff Thompson2277ce52013-08-01 17:34:11 -070017# include <ndnboost/preprocessor/control/expr_iif.hpp>
18# include <ndnboost/preprocessor/control/iif.hpp>
19# include <ndnboost/preprocessor/list/adt.hpp>
20# include <ndnboost/preprocessor/tuple/eat.hpp>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070021#
Jeff Thompson3d613fd2013-10-15 15:39:04 -070022# define NDNBOOST_PP_LIST_FOLD_LEFT_1(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_2, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(2, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
23# define NDNBOOST_PP_LIST_FOLD_LEFT_2(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_3, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(3, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
24# define NDNBOOST_PP_LIST_FOLD_LEFT_3(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_4, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(4, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
25# define NDNBOOST_PP_LIST_FOLD_LEFT_4(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_5, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(5, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
26# define NDNBOOST_PP_LIST_FOLD_LEFT_5(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_6, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(6, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
27# define NDNBOOST_PP_LIST_FOLD_LEFT_6(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_7, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(7, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
28# define NDNBOOST_PP_LIST_FOLD_LEFT_7(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_8, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(8, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
29# define NDNBOOST_PP_LIST_FOLD_LEFT_8(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_9, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(9, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
30# define NDNBOOST_PP_LIST_FOLD_LEFT_9(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_10, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(10, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
31# define NDNBOOST_PP_LIST_FOLD_LEFT_10(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_11, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(11, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
32# define NDNBOOST_PP_LIST_FOLD_LEFT_11(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_12, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(12, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
33# define NDNBOOST_PP_LIST_FOLD_LEFT_12(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_13, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(13, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
34# define NDNBOOST_PP_LIST_FOLD_LEFT_13(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_14, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(14, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
35# define NDNBOOST_PP_LIST_FOLD_LEFT_14(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_15, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(15, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
36# define NDNBOOST_PP_LIST_FOLD_LEFT_15(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_16, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(16, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
37# define NDNBOOST_PP_LIST_FOLD_LEFT_16(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_17, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(17, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
38# define NDNBOOST_PP_LIST_FOLD_LEFT_17(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_18, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(18, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
39# define NDNBOOST_PP_LIST_FOLD_LEFT_18(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_19, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(19, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
40# define NDNBOOST_PP_LIST_FOLD_LEFT_19(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_20, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(20, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
41# define NDNBOOST_PP_LIST_FOLD_LEFT_20(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_21, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(21, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
42# define NDNBOOST_PP_LIST_FOLD_LEFT_21(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_22, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(22, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
43# define NDNBOOST_PP_LIST_FOLD_LEFT_22(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_23, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(23, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
44# define NDNBOOST_PP_LIST_FOLD_LEFT_23(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_24, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(24, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
45# define NDNBOOST_PP_LIST_FOLD_LEFT_24(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_25, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(25, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
46# define NDNBOOST_PP_LIST_FOLD_LEFT_25(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_26, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(26, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
47# define NDNBOOST_PP_LIST_FOLD_LEFT_26(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_27, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(27, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
48# define NDNBOOST_PP_LIST_FOLD_LEFT_27(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_28, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(28, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
49# define NDNBOOST_PP_LIST_FOLD_LEFT_28(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_29, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(29, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
50# define NDNBOOST_PP_LIST_FOLD_LEFT_29(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_30, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(30, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
51# define NDNBOOST_PP_LIST_FOLD_LEFT_30(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_31, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(31, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
52# define NDNBOOST_PP_LIST_FOLD_LEFT_31(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_32, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(32, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
53# define NDNBOOST_PP_LIST_FOLD_LEFT_32(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_33, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(33, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
54# define NDNBOOST_PP_LIST_FOLD_LEFT_33(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_34, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(34, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
55# define NDNBOOST_PP_LIST_FOLD_LEFT_34(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_35, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(35, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
56# define NDNBOOST_PP_LIST_FOLD_LEFT_35(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_36, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(36, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
57# define NDNBOOST_PP_LIST_FOLD_LEFT_36(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_37, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(37, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
58# define NDNBOOST_PP_LIST_FOLD_LEFT_37(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_38, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(38, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
59# define NDNBOOST_PP_LIST_FOLD_LEFT_38(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_39, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(39, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
60# define NDNBOOST_PP_LIST_FOLD_LEFT_39(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_40, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(40, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
61# define NDNBOOST_PP_LIST_FOLD_LEFT_40(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_41, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(41, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
62# define NDNBOOST_PP_LIST_FOLD_LEFT_41(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_42, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(42, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
63# define NDNBOOST_PP_LIST_FOLD_LEFT_42(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_43, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(43, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
64# define NDNBOOST_PP_LIST_FOLD_LEFT_43(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_44, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(44, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
65# define NDNBOOST_PP_LIST_FOLD_LEFT_44(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_45, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(45, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
66# define NDNBOOST_PP_LIST_FOLD_LEFT_45(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_46, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(46, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
67# define NDNBOOST_PP_LIST_FOLD_LEFT_46(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_47, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(47, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
68# define NDNBOOST_PP_LIST_FOLD_LEFT_47(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_48, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(48, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
69# define NDNBOOST_PP_LIST_FOLD_LEFT_48(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_49, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(49, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
70# define NDNBOOST_PP_LIST_FOLD_LEFT_49(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_50, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(50, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
71# define NDNBOOST_PP_LIST_FOLD_LEFT_50(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_51, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(51, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
72# define NDNBOOST_PP_LIST_FOLD_LEFT_51(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_52, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(52, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
73# define NDNBOOST_PP_LIST_FOLD_LEFT_52(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_53, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(53, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
74# define NDNBOOST_PP_LIST_FOLD_LEFT_53(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_54, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(54, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
75# define NDNBOOST_PP_LIST_FOLD_LEFT_54(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_55, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(55, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
76# define NDNBOOST_PP_LIST_FOLD_LEFT_55(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_56, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(56, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
77# define NDNBOOST_PP_LIST_FOLD_LEFT_56(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_57, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(57, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
78# define NDNBOOST_PP_LIST_FOLD_LEFT_57(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_58, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(58, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
79# define NDNBOOST_PP_LIST_FOLD_LEFT_58(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_59, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(59, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
80# define NDNBOOST_PP_LIST_FOLD_LEFT_59(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_60, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(60, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
81# define NDNBOOST_PP_LIST_FOLD_LEFT_60(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_61, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(61, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
82# define NDNBOOST_PP_LIST_FOLD_LEFT_61(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_62, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(62, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
83# define NDNBOOST_PP_LIST_FOLD_LEFT_62(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_63, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(63, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
84# define NDNBOOST_PP_LIST_FOLD_LEFT_63(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_64, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(64, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
85# define NDNBOOST_PP_LIST_FOLD_LEFT_64(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_65, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(65, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
86# define NDNBOOST_PP_LIST_FOLD_LEFT_65(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_66, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(66, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
87# define NDNBOOST_PP_LIST_FOLD_LEFT_66(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_67, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(67, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
88# define NDNBOOST_PP_LIST_FOLD_LEFT_67(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_68, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(68, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
89# define NDNBOOST_PP_LIST_FOLD_LEFT_68(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_69, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(69, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
90# define NDNBOOST_PP_LIST_FOLD_LEFT_69(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_70, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(70, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
91# define NDNBOOST_PP_LIST_FOLD_LEFT_70(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_71, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(71, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
92# define NDNBOOST_PP_LIST_FOLD_LEFT_71(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_72, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(72, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
93# define NDNBOOST_PP_LIST_FOLD_LEFT_72(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_73, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(73, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
94# define NDNBOOST_PP_LIST_FOLD_LEFT_73(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_74, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(74, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
95# define NDNBOOST_PP_LIST_FOLD_LEFT_74(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_75, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(75, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
96# define NDNBOOST_PP_LIST_FOLD_LEFT_75(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_76, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(76, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
97# define NDNBOOST_PP_LIST_FOLD_LEFT_76(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_77, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(77, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
98# define NDNBOOST_PP_LIST_FOLD_LEFT_77(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_78, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(78, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
99# define NDNBOOST_PP_LIST_FOLD_LEFT_78(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_79, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(79, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
100# define NDNBOOST_PP_LIST_FOLD_LEFT_79(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_80, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(80, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
101# define NDNBOOST_PP_LIST_FOLD_LEFT_80(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_81, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(81, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
102# define NDNBOOST_PP_LIST_FOLD_LEFT_81(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_82, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(82, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
103# define NDNBOOST_PP_LIST_FOLD_LEFT_82(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_83, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(83, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
104# define NDNBOOST_PP_LIST_FOLD_LEFT_83(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_84, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(84, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
105# define NDNBOOST_PP_LIST_FOLD_LEFT_84(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_85, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(85, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
106# define NDNBOOST_PP_LIST_FOLD_LEFT_85(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_86, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(86, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
107# define NDNBOOST_PP_LIST_FOLD_LEFT_86(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_87, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(87, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
108# define NDNBOOST_PP_LIST_FOLD_LEFT_87(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_88, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(88, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
109# define NDNBOOST_PP_LIST_FOLD_LEFT_88(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_89, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(89, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
110# define NDNBOOST_PP_LIST_FOLD_LEFT_89(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_90, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(90, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
111# define NDNBOOST_PP_LIST_FOLD_LEFT_90(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_91, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(91, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
112# define NDNBOOST_PP_LIST_FOLD_LEFT_91(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_92, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(92, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
113# define NDNBOOST_PP_LIST_FOLD_LEFT_92(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_93, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(93, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
114# define NDNBOOST_PP_LIST_FOLD_LEFT_93(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_94, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(94, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
115# define NDNBOOST_PP_LIST_FOLD_LEFT_94(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_95, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(95, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
116# define NDNBOOST_PP_LIST_FOLD_LEFT_95(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_96, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(96, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
117# define NDNBOOST_PP_LIST_FOLD_LEFT_96(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_97, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(97, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
118# define NDNBOOST_PP_LIST_FOLD_LEFT_97(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_98, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(98, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
119# define NDNBOOST_PP_LIST_FOLD_LEFT_98(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_99, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(99, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
120# define NDNBOOST_PP_LIST_FOLD_LEFT_99(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_100, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(100, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
121# define NDNBOOST_PP_LIST_FOLD_LEFT_100(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_101, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(101, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
122# define NDNBOOST_PP_LIST_FOLD_LEFT_101(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_102, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(102, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
123# define NDNBOOST_PP_LIST_FOLD_LEFT_102(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_103, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(103, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
124# define NDNBOOST_PP_LIST_FOLD_LEFT_103(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_104, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(104, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
125# define NDNBOOST_PP_LIST_FOLD_LEFT_104(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_105, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(105, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
126# define NDNBOOST_PP_LIST_FOLD_LEFT_105(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_106, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(106, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
127# define NDNBOOST_PP_LIST_FOLD_LEFT_106(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_107, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(107, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
128# define NDNBOOST_PP_LIST_FOLD_LEFT_107(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_108, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(108, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
129# define NDNBOOST_PP_LIST_FOLD_LEFT_108(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_109, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(109, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
130# define NDNBOOST_PP_LIST_FOLD_LEFT_109(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_110, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(110, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
131# define NDNBOOST_PP_LIST_FOLD_LEFT_110(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_111, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(111, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
132# define NDNBOOST_PP_LIST_FOLD_LEFT_111(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_112, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(112, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
133# define NDNBOOST_PP_LIST_FOLD_LEFT_112(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_113, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(113, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
134# define NDNBOOST_PP_LIST_FOLD_LEFT_113(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_114, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(114, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
135# define NDNBOOST_PP_LIST_FOLD_LEFT_114(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_115, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(115, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
136# define NDNBOOST_PP_LIST_FOLD_LEFT_115(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_116, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(116, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
137# define NDNBOOST_PP_LIST_FOLD_LEFT_116(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_117, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(117, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
138# define NDNBOOST_PP_LIST_FOLD_LEFT_117(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_118, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(118, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
139# define NDNBOOST_PP_LIST_FOLD_LEFT_118(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_119, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(119, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
140# define NDNBOOST_PP_LIST_FOLD_LEFT_119(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_120, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(120, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
141# define NDNBOOST_PP_LIST_FOLD_LEFT_120(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_121, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(121, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
142# define NDNBOOST_PP_LIST_FOLD_LEFT_121(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_122, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(122, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
143# define NDNBOOST_PP_LIST_FOLD_LEFT_122(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_123, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(123, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
144# define NDNBOOST_PP_LIST_FOLD_LEFT_123(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_124, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(124, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
145# define NDNBOOST_PP_LIST_FOLD_LEFT_124(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_125, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(125, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
146# define NDNBOOST_PP_LIST_FOLD_LEFT_125(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_126, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(126, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
147# define NDNBOOST_PP_LIST_FOLD_LEFT_126(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_127, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(127, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
148# define NDNBOOST_PP_LIST_FOLD_LEFT_127(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_128, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(128, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
149# define NDNBOOST_PP_LIST_FOLD_LEFT_128(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_129, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(129, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
150# define NDNBOOST_PP_LIST_FOLD_LEFT_129(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_130, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(130, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
151# define NDNBOOST_PP_LIST_FOLD_LEFT_130(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_131, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(131, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
152# define NDNBOOST_PP_LIST_FOLD_LEFT_131(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_132, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(132, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
153# define NDNBOOST_PP_LIST_FOLD_LEFT_132(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_133, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(133, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
154# define NDNBOOST_PP_LIST_FOLD_LEFT_133(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_134, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(134, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
155# define NDNBOOST_PP_LIST_FOLD_LEFT_134(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_135, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(135, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
156# define NDNBOOST_PP_LIST_FOLD_LEFT_135(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_136, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(136, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
157# define NDNBOOST_PP_LIST_FOLD_LEFT_136(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_137, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(137, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
158# define NDNBOOST_PP_LIST_FOLD_LEFT_137(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_138, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(138, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
159# define NDNBOOST_PP_LIST_FOLD_LEFT_138(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_139, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(139, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
160# define NDNBOOST_PP_LIST_FOLD_LEFT_139(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_140, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(140, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
161# define NDNBOOST_PP_LIST_FOLD_LEFT_140(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_141, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(141, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
162# define NDNBOOST_PP_LIST_FOLD_LEFT_141(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_142, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(142, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
163# define NDNBOOST_PP_LIST_FOLD_LEFT_142(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_143, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(143, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
164# define NDNBOOST_PP_LIST_FOLD_LEFT_143(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_144, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(144, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
165# define NDNBOOST_PP_LIST_FOLD_LEFT_144(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_145, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(145, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
166# define NDNBOOST_PP_LIST_FOLD_LEFT_145(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_146, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(146, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
167# define NDNBOOST_PP_LIST_FOLD_LEFT_146(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_147, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(147, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
168# define NDNBOOST_PP_LIST_FOLD_LEFT_147(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_148, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(148, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
169# define NDNBOOST_PP_LIST_FOLD_LEFT_148(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_149, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(149, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
170# define NDNBOOST_PP_LIST_FOLD_LEFT_149(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_150, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(150, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
171# define NDNBOOST_PP_LIST_FOLD_LEFT_150(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_151, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(151, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
172# define NDNBOOST_PP_LIST_FOLD_LEFT_151(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_152, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(152, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
173# define NDNBOOST_PP_LIST_FOLD_LEFT_152(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_153, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(153, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
174# define NDNBOOST_PP_LIST_FOLD_LEFT_153(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_154, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(154, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
175# define NDNBOOST_PP_LIST_FOLD_LEFT_154(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_155, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(155, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
176# define NDNBOOST_PP_LIST_FOLD_LEFT_155(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_156, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(156, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
177# define NDNBOOST_PP_LIST_FOLD_LEFT_156(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_157, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(157, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
178# define NDNBOOST_PP_LIST_FOLD_LEFT_157(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_158, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(158, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
179# define NDNBOOST_PP_LIST_FOLD_LEFT_158(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_159, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(159, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
180# define NDNBOOST_PP_LIST_FOLD_LEFT_159(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_160, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(160, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
181# define NDNBOOST_PP_LIST_FOLD_LEFT_160(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_161, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(161, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
182# define NDNBOOST_PP_LIST_FOLD_LEFT_161(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_162, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(162, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
183# define NDNBOOST_PP_LIST_FOLD_LEFT_162(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_163, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(163, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
184# define NDNBOOST_PP_LIST_FOLD_LEFT_163(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_164, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(164, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
185# define NDNBOOST_PP_LIST_FOLD_LEFT_164(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_165, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(165, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
186# define NDNBOOST_PP_LIST_FOLD_LEFT_165(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_166, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(166, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
187# define NDNBOOST_PP_LIST_FOLD_LEFT_166(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_167, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(167, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
188# define NDNBOOST_PP_LIST_FOLD_LEFT_167(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_168, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(168, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
189# define NDNBOOST_PP_LIST_FOLD_LEFT_168(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_169, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(169, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
190# define NDNBOOST_PP_LIST_FOLD_LEFT_169(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_170, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(170, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
191# define NDNBOOST_PP_LIST_FOLD_LEFT_170(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_171, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(171, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
192# define NDNBOOST_PP_LIST_FOLD_LEFT_171(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_172, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(172, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
193# define NDNBOOST_PP_LIST_FOLD_LEFT_172(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_173, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(173, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
194# define NDNBOOST_PP_LIST_FOLD_LEFT_173(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_174, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(174, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
195# define NDNBOOST_PP_LIST_FOLD_LEFT_174(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_175, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(175, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
196# define NDNBOOST_PP_LIST_FOLD_LEFT_175(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_176, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(176, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
197# define NDNBOOST_PP_LIST_FOLD_LEFT_176(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_177, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(177, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
198# define NDNBOOST_PP_LIST_FOLD_LEFT_177(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_178, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(178, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
199# define NDNBOOST_PP_LIST_FOLD_LEFT_178(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_179, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(179, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
200# define NDNBOOST_PP_LIST_FOLD_LEFT_179(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_180, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(180, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
201# define NDNBOOST_PP_LIST_FOLD_LEFT_180(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_181, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(181, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
202# define NDNBOOST_PP_LIST_FOLD_LEFT_181(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_182, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(182, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
203# define NDNBOOST_PP_LIST_FOLD_LEFT_182(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_183, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(183, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
204# define NDNBOOST_PP_LIST_FOLD_LEFT_183(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_184, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(184, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
205# define NDNBOOST_PP_LIST_FOLD_LEFT_184(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_185, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(185, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
206# define NDNBOOST_PP_LIST_FOLD_LEFT_185(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_186, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(186, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
207# define NDNBOOST_PP_LIST_FOLD_LEFT_186(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_187, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(187, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
208# define NDNBOOST_PP_LIST_FOLD_LEFT_187(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_188, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(188, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
209# define NDNBOOST_PP_LIST_FOLD_LEFT_188(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_189, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(189, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
210# define NDNBOOST_PP_LIST_FOLD_LEFT_189(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_190, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(190, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
211# define NDNBOOST_PP_LIST_FOLD_LEFT_190(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_191, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(191, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
212# define NDNBOOST_PP_LIST_FOLD_LEFT_191(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_192, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(192, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
213# define NDNBOOST_PP_LIST_FOLD_LEFT_192(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_193, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(193, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
214# define NDNBOOST_PP_LIST_FOLD_LEFT_193(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_194, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(194, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
215# define NDNBOOST_PP_LIST_FOLD_LEFT_194(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_195, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(195, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
216# define NDNBOOST_PP_LIST_FOLD_LEFT_195(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_196, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(196, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
217# define NDNBOOST_PP_LIST_FOLD_LEFT_196(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_197, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(197, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
218# define NDNBOOST_PP_LIST_FOLD_LEFT_197(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_198, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(198, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
219# define NDNBOOST_PP_LIST_FOLD_LEFT_198(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_199, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(199, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
220# define NDNBOOST_PP_LIST_FOLD_LEFT_199(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_200, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(200, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
221# define NDNBOOST_PP_LIST_FOLD_LEFT_200(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_201, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(201, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
222# define NDNBOOST_PP_LIST_FOLD_LEFT_201(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_202, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(202, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
223# define NDNBOOST_PP_LIST_FOLD_LEFT_202(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_203, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(203, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
224# define NDNBOOST_PP_LIST_FOLD_LEFT_203(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_204, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(204, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
225# define NDNBOOST_PP_LIST_FOLD_LEFT_204(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_205, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(205, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
226# define NDNBOOST_PP_LIST_FOLD_LEFT_205(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_206, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(206, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
227# define NDNBOOST_PP_LIST_FOLD_LEFT_206(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_207, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(207, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
228# define NDNBOOST_PP_LIST_FOLD_LEFT_207(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_208, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(208, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
229# define NDNBOOST_PP_LIST_FOLD_LEFT_208(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_209, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(209, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
230# define NDNBOOST_PP_LIST_FOLD_LEFT_209(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_210, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(210, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
231# define NDNBOOST_PP_LIST_FOLD_LEFT_210(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_211, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(211, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
232# define NDNBOOST_PP_LIST_FOLD_LEFT_211(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_212, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(212, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
233# define NDNBOOST_PP_LIST_FOLD_LEFT_212(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_213, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(213, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
234# define NDNBOOST_PP_LIST_FOLD_LEFT_213(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_214, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(214, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
235# define NDNBOOST_PP_LIST_FOLD_LEFT_214(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_215, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(215, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
236# define NDNBOOST_PP_LIST_FOLD_LEFT_215(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_216, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(216, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
237# define NDNBOOST_PP_LIST_FOLD_LEFT_216(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_217, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(217, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
238# define NDNBOOST_PP_LIST_FOLD_LEFT_217(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_218, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(218, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
239# define NDNBOOST_PP_LIST_FOLD_LEFT_218(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_219, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(219, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
240# define NDNBOOST_PP_LIST_FOLD_LEFT_219(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_220, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(220, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
241# define NDNBOOST_PP_LIST_FOLD_LEFT_220(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_221, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(221, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
242# define NDNBOOST_PP_LIST_FOLD_LEFT_221(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_222, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(222, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
243# define NDNBOOST_PP_LIST_FOLD_LEFT_222(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_223, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(223, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
244# define NDNBOOST_PP_LIST_FOLD_LEFT_223(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_224, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(224, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
245# define NDNBOOST_PP_LIST_FOLD_LEFT_224(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_225, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(225, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
246# define NDNBOOST_PP_LIST_FOLD_LEFT_225(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_226, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(226, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
247# define NDNBOOST_PP_LIST_FOLD_LEFT_226(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_227, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(227, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
248# define NDNBOOST_PP_LIST_FOLD_LEFT_227(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_228, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(228, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
249# define NDNBOOST_PP_LIST_FOLD_LEFT_228(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_229, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(229, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
250# define NDNBOOST_PP_LIST_FOLD_LEFT_229(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_230, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(230, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
251# define NDNBOOST_PP_LIST_FOLD_LEFT_230(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_231, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(231, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
252# define NDNBOOST_PP_LIST_FOLD_LEFT_231(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_232, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(232, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
253# define NDNBOOST_PP_LIST_FOLD_LEFT_232(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_233, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(233, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
254# define NDNBOOST_PP_LIST_FOLD_LEFT_233(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_234, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(234, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
255# define NDNBOOST_PP_LIST_FOLD_LEFT_234(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_235, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(235, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
256# define NDNBOOST_PP_LIST_FOLD_LEFT_235(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_236, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(236, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
257# define NDNBOOST_PP_LIST_FOLD_LEFT_236(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_237, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(237, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
258# define NDNBOOST_PP_LIST_FOLD_LEFT_237(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_238, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(238, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
259# define NDNBOOST_PP_LIST_FOLD_LEFT_238(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_239, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(239, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
260# define NDNBOOST_PP_LIST_FOLD_LEFT_239(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_240, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(240, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
261# define NDNBOOST_PP_LIST_FOLD_LEFT_240(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_241, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(241, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
262# define NDNBOOST_PP_LIST_FOLD_LEFT_241(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_242, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(242, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
263# define NDNBOOST_PP_LIST_FOLD_LEFT_242(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_243, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(243, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
264# define NDNBOOST_PP_LIST_FOLD_LEFT_243(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_244, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(244, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
265# define NDNBOOST_PP_LIST_FOLD_LEFT_244(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_245, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(245, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
266# define NDNBOOST_PP_LIST_FOLD_LEFT_245(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_246, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(246, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
267# define NDNBOOST_PP_LIST_FOLD_LEFT_246(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_247, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(247, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
268# define NDNBOOST_PP_LIST_FOLD_LEFT_247(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_248, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(248, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
269# define NDNBOOST_PP_LIST_FOLD_LEFT_248(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_249, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(249, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
270# define NDNBOOST_PP_LIST_FOLD_LEFT_249(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_250, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(250, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
271# define NDNBOOST_PP_LIST_FOLD_LEFT_250(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_251, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(251, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
272# define NDNBOOST_PP_LIST_FOLD_LEFT_251(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_252, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(252, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
273# define NDNBOOST_PP_LIST_FOLD_LEFT_252(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_253, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(253, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
274# define NDNBOOST_PP_LIST_FOLD_LEFT_253(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_254, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(254, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
275# define NDNBOOST_PP_LIST_FOLD_LEFT_254(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_255, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(255, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
276# define NDNBOOST_PP_LIST_FOLD_LEFT_255(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_256, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(256, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
277# define NDNBOOST_PP_LIST_FOLD_LEFT_256(o, s, l) NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), NDNBOOST_PP_LIST_FOLD_LEFT_257, s NDNBOOST_PP_TUPLE_EAT_3)(o, NDNBOOST_PP_EXPR_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o)(257, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700278#
279# endif