📄 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. */## 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)# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112)# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124)# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -