📄 auto_rec.hpp
字号:
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
# * 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)
# * *
# ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# include <boost/preprocessor/config/config.hpp>
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
# include <boost/preprocessor/detail/dmc/auto_rec.hpp>
# else
#
# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP
#
# include <boost/preprocessor/control/iif.hpp>
#
# /* BOOST_PP_AUTO_REC */
#
# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred)
#
# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p)
# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p)
# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p)
# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p)
# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p)
# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p)
# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p)
# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p)
#
# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192)
# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96)
# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48)
# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24)
# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12)
# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6)
# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)
# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)
# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4)
# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7)
# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6)
# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8)
# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14)
# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11)
# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10)
# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12)
# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15)
# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14)
# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16)
# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28)
# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22)
# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19)
# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18)
# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20)
# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23)
# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22)
# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24)
# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30)
# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27)
# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26)
# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28)
# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31)
# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30)
# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32)
# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56)
# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44)
# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38)
# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35)
# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34)
# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36)
# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39)
# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38)
# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40)
# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46)
# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43)
# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42)
# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44)
# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47)
# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46)
# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48)
# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60)
# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54)
# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51)
# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50)
# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52)
# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55)
# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54)
# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56)
# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62)
# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59)
# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58)
# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60)
# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63)
# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62)
# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64)
# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112)
# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88)
# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76)
# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70)
# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67)
# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66)
# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68)
# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71)
# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70)
# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72)
# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78)
# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75)
# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74)
# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76)
# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79)
# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78)
# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80)
# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92)
# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86)
# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83)
# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82)
# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84)
# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87)
# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86)
# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88)
# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94)
# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91)
# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90)
# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92)
# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95)
# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94)
# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96)
# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120)
# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108)
# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102)
# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99)
# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98)
# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100)
# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103)
# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102)
# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104)
# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110)
# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107)
# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106)
# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108)
# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111)
# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -