4 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
5 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
6 // Stefan Bund <g0dil@berlios.de>
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 \brief mpl internal header */
31 ///////////////////////////////ih.p////////////////////////////////////////
33 #define SENF_MPL_SLOT_I_CHOOSE(a,b) (a != 0 ? a-1 : (b))
35 #define SENF_MPL_SLOT_I_CHECK(name,a,b) \
36 SENF_MPL_SLOT_I_CHOOSE( \
37 SENF_MPL_RV(_SENF_MPL_SLOT_ ## name (senf::mpl::take_int<(a)>())), \
40 #define SENF_MPL_SLOT_I_GET(name) \
41 SENF_MPL_SLOT_I_CHECK(name, __LINE__>1?__LINE__-1:0, \
42 SENF_MPL_SLOT_I_CHECK(name, __LINE__>2?__LINE__-2:0, \
43 SENF_MPL_SLOT_I_CHECK(name, __LINE__>3?__LINE__-3:0, \
44 SENF_MPL_SLOT_I_CHECK(name, __LINE__>4?__LINE__-4:0, \
45 SENF_MPL_SLOT_I_CHECK(name, __LINE__>5?__LINE__-5:0, \
46 SENF_MPL_SLOT_I_CHECK(name, __LINE__>6?__LINE__-6:0, \
47 SENF_MPL_SLOT_I_CHECK(name, __LINE__>7?__LINE__-7:0, \
48 SENF_MPL_SLOT_I_CHECK(name, __LINE__>8?__LINE__-8:0, \
49 SENF_MPL_SLOT_I_CHECK(name, __LINE__>9?__LINE__-9:0, \
50 SENF_MPL_SLOT_I_CHECK(name, __LINE__>10?__LINE__-10:0, \
51 SENF_MPL_SLOT_I_CHECK(name, __LINE__>11?__LINE__-11:0, \
52 SENF_MPL_SLOT_I_CHECK(name, __LINE__>12?__LINE__-12:0, \
53 SENF_MPL_SLOT_I_CHECK(name, __LINE__>13?__LINE__-13:0, \
54 SENF_MPL_SLOT_I_CHECK(name, __LINE__>14?__LINE__-14:0, \
55 SENF_MPL_SLOT_I_CHECK(name, __LINE__>15?__LINE__-15:0, \
56 SENF_MPL_SLOT_I_CHECK(name, __LINE__>16?__LINE__-16:0, \
57 SENF_MPL_SLOT_I_CHECK(name, __LINE__>17?__LINE__-17:0, \
58 SENF_MPL_SLOT_I_CHECK(name, __LINE__>18?__LINE__-18:0, \
59 SENF_MPL_SLOT_I_CHECK(name, __LINE__>19?__LINE__-19:0, \
60 SENF_MPL_SLOT_I_CHECK(name, __LINE__>20?__LINE__-20:0, \
61 SENF_MPL_SLOT_I_CHECK(name, __LINE__>21?__LINE__-21:0, \
62 SENF_MPL_SLOT_I_CHECK(name, __LINE__>22?__LINE__-22:0, \
63 SENF_MPL_SLOT_I_CHECK(name, __LINE__>23?__LINE__-23:0, \
64 SENF_MPL_SLOT_I_CHECK(name, __LINE__>24?__LINE__-24:0, \
65 SENF_MPL_SLOT_I_CHECK(name, __LINE__>25?__LINE__-25:0, \
66 SENF_MPL_SLOT_I_CHECK(name, __LINE__>26?__LINE__-26:0, \
67 SENF_MPL_SLOT_I_CHECK(name, __LINE__>27?__LINE__-27:0, \
68 SENF_MPL_SLOT_I_CHECK(name, __LINE__>28?__LINE__-28:0, \
69 SENF_MPL_SLOT_I_CHECK(name, __LINE__>29?__LINE__-29:0, \
70 SENF_MPL_SLOT_I_CHECK(name, __LINE__>30?__LINE__-30:0, \
71 SENF_MPL_SLOT_I_CHECK(name, __LINE__>31?__LINE__-31:0, \
72 SENF_MPL_SLOT_I_CHECK(name, __LINE__>32?__LINE__-32:0, \
73 SENF_MPL_SLOT_I_CHECK(name, __LINE__>33?__LINE__-33:0, \
74 SENF_MPL_SLOT_I_CHECK(name, __LINE__>34?__LINE__-34:0, \
75 SENF_MPL_SLOT_I_CHECK(name, __LINE__>35?__LINE__-35:0, \
76 SENF_MPL_SLOT_I_CHECK(name, __LINE__>36?__LINE__-36:0, \
77 SENF_MPL_SLOT_I_CHECK(name, __LINE__>37?__LINE__-37:0, \
78 SENF_MPL_SLOT_I_CHECK(name, __LINE__>38?__LINE__-38:0, \
79 SENF_MPL_SLOT_I_CHECK(name, __LINE__>39?__LINE__-39:0, \
80 SENF_MPL_SLOT_I_CHECK(name, __LINE__>40?__LINE__-40:0, \
81 SENF_MPL_SLOT_I_CHECK(name, __LINE__>41?__LINE__-41:0, \
82 SENF_MPL_SLOT_I_CHECK(name, __LINE__>42?__LINE__-42:0, \
83 SENF_MPL_SLOT_I_CHECK(name, __LINE__>43?__LINE__-43:0, \
84 SENF_MPL_SLOT_I_CHECK(name, __LINE__>44?__LINE__-44:0, \
85 SENF_MPL_SLOT_I_CHECK(name, __LINE__>45?__LINE__-45:0, \
86 SENF_MPL_SLOT_I_CHECK(name, __LINE__>46?__LINE__-46:0, \
87 SENF_MPL_SLOT_I_CHECK(name, __LINE__>47?__LINE__-47:0, \
88 SENF_MPL_SLOT_I_CHECK(name, __LINE__>48?__LINE__-48:0, \
89 SENF_MPL_SLOT_I_CHECK(name, __LINE__>49?__LINE__-49:0, \
90 SENF_MPL_SLOT_I_CHECK(name, __LINE__>50?__LINE__-50:0, \
91 SENF_MPL_SLOT_I_CHECK(name, __LINE__>51?__LINE__-51:0, \
92 SENF_MPL_SLOT_I_CHECK(name, __LINE__>52?__LINE__-52:0, \
93 SENF_MPL_SLOT_I_CHECK(name, __LINE__>53?__LINE__-53:0, \
94 SENF_MPL_SLOT_I_CHECK(name, __LINE__>54?__LINE__-54:0, \
95 SENF_MPL_SLOT_I_CHECK(name, __LINE__>55?__LINE__-55:0, \
96 SENF_MPL_SLOT_I_CHECK(name, __LINE__>56?__LINE__-56:0, \
97 SENF_MPL_SLOT_I_CHECK(name, __LINE__>57?__LINE__-57:0, \
98 SENF_MPL_SLOT_I_CHECK(name, __LINE__>58?__LINE__-58:0, \
99 SENF_MPL_SLOT_I_CHECK(name, __LINE__>59?__LINE__-59:0, \
100 SENF_MPL_SLOT_I_CHECK(name, __LINE__>60?__LINE__-60:0, \
101 SENF_MPL_SLOT_I_CHECK(name, __LINE__>61?__LINE__-61:0, \
102 SENF_MPL_SLOT_I_CHECK(name, __LINE__>62?__LINE__-62:0, \
103 SENF_MPL_SLOT_I_CHECK(name, __LINE__>63?__LINE__-63:0, \
104 SENF_MPL_SLOT_I_CHECK(name, __LINE__>64?__LINE__-64:0, \
105 SENF_MPL_SLOT_I_CHECK(name, __LINE__>65?__LINE__-65:0, \
106 SENF_MPL_SLOT_I_CHECK(name, __LINE__>66?__LINE__-66:0, \
107 SENF_MPL_SLOT_I_CHECK(name, __LINE__>67?__LINE__-67:0, \
108 SENF_MPL_SLOT_I_CHECK(name, __LINE__>68?__LINE__-68:0, \
109 SENF_MPL_SLOT_I_CHECK(name, __LINE__>69?__LINE__-69:0, \
110 SENF_MPL_SLOT_I_CHECK(name, __LINE__>70?__LINE__-70:0, \
111 SENF_MPL_SLOT_I_CHECK(name, __LINE__>71?__LINE__-71:0, \
112 SENF_MPL_SLOT_I_CHECK(name, __LINE__>72?__LINE__-72:0, \
113 SENF_MPL_SLOT_I_CHECK(name, __LINE__>73?__LINE__-73:0, \
114 SENF_MPL_SLOT_I_CHECK(name, __LINE__>74?__LINE__-74:0, \
115 SENF_MPL_SLOT_I_CHECK(name, __LINE__>75?__LINE__-75:0, \
116 SENF_MPL_SLOT_I_CHECK(name, __LINE__>76?__LINE__-76:0, \
117 SENF_MPL_SLOT_I_CHECK(name, __LINE__>77?__LINE__-77:0, \
118 SENF_MPL_SLOT_I_CHECK(name, __LINE__>78?__LINE__-78:0, \
119 SENF_MPL_SLOT_I_CHECK(name, __LINE__>79?__LINE__-79:0, \
120 SENF_MPL_SLOT_I_CHECK(name, __LINE__>80?__LINE__-80:0, \
121 0 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
124 ///////////////////////////////ih.e////////////////////////////////////////
131 // comment-column: 40
132 // c-file-style: "senf"
133 // indent-tabs-mode: nil
134 // ispell-local-dictionary: "american"
135 // compile-command: "scons -u test"