blob: 34088b2b68c4be770923bfe65882fda884632282 [file] [log] [blame]
# /* Copyright (C) 2001
# * Housemarque Oy
# * http://www.housemarque.com
# *
# * 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)
# */
#
# /* Revised by Paul Mensonides (2002) */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
# define NDNBOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP
#
# include <ndnboost/preprocessor/control/expr_iif.hpp>
# include <ndnboost/preprocessor/control/iif.hpp>
# include <ndnboost/preprocessor/list/adt.hpp>
# include <ndnboost/preprocessor/tuple/elem.hpp>
#
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(2, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(3, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(4, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(5, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(6, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(7, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(8, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(9, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(10, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(11, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(12, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(13, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(14, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(15, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(16, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(17, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(18, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(19, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(20, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(21, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(22, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(23, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(24, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(25, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(26, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(27, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(28, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(29, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(30, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(31, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(32, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(33, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(34, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(35, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(36, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(37, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(38, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(39, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(40, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(41, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(42, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(43, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(44, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(45, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(46, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(47, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(48, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(49, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(50, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(51, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(52, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(53, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(54, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(55, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(56, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(57, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(58, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(59, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(60, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(61, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(62, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(63, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(64, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(65, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(66, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(67, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(68, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(69, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(70, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(71, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(72, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(73, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(74, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(75, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(76, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(77, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(78, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(79, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(80, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(81, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(82, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(83, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(84, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(85, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(86, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(87, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(88, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(89, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(90, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(91, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(92, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(93, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(94, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(95, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(96, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(97, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(98, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(99, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(100, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(101, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(102, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(103, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(104, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(105, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(106, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(107, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(108, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(109, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(110, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(111, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(112, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(113, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(114, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(115, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(116, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(117, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(118, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(119, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(120, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(121, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(122, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(123, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(124, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(125, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(126, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(127, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(128, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(129, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(130, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(131, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(132, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(133, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(134, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(135, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(136, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(137, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(138, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(139, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(140, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(141, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(142, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(143, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(144, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(145, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(146, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(147, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(148, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(149, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(150, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(151, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(152, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(153, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(154, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(155, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(156, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(157, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(158, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(159, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(160, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(161, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(162, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(163, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(164, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(165, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(166, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(167, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(168, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(169, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(170, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(171, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(172, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(173, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(174, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(175, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(176, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(177, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(178, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(179, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(180, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(181, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(182, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(183, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(184, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(185, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(186, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(187, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(188, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(189, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(190, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(191, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(192, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(193, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(194, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(195, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(196, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(197, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(198, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(199, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(200, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(201, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(202, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(203, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(204, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(205, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(206, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(207, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(208, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(209, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(210, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(211, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(212, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(213, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(214, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(215, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(216, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(217, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(218, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(219, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(220, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(221, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(222, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(223, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(224, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(225, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(226, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(227, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(228, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(229, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(230, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(231, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(232, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(233, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(234, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(235, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(236, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(237, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(238, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(239, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(240, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(241, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(242, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(243, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(244, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(245, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(246, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(247, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(248, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(249, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(250, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(251, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(252, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(253, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(254, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(255, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(256, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
# 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, NDNBOOST_PP_TUPLE_ELEM_3_1)(o, NDNBOOST_PP_IIF(NDNBOOST_PP_LIST_IS_CONS(l), o, NDNBOOST_PP_TUPLE_ELEM_3_1)(257, s, NDNBOOST_PP_LIST_FIRST(l)), NDNBOOST_PP_LIST_REST(l))
#
# endif