Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkPPTupleRem.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 #/* **************************************************************************
17 # * *
18 # * (C) Copyright Paul Mensonides 2002.
19 # * Distributed under the Boost Software License, Version 1.0. (See
20 # * accompanying file LICENSE_1_0.txt or copy at
21 # * http://www.boost.org/LICENSE_1_0.txt)
22 # * *
23 # ************************************************************************** */
24 #
25 #/* See http://www.boost.org for most recent version. */
26 #
27 #ifndef MITK_PREPROCESSOR_TUPLE_REM_HPP
28 #define MITK_PREPROCESSOR_TUPLE_REM_HPP
29 #
30 #include "mitkPPConfig.h"
31 #
32 #/* MITK_PP_TUPLE_REM */
33 #
34 #if ~MITK_PP_CONFIG_FLAGS() & MITK_PP_CONFIG_MWCC()
35 #define MITK_PP_TUPLE_REM(size) MITK_PP_TUPLE_REM_I(size)
36 #else
37 #define MITK_PP_TUPLE_REM(size) MITK_PP_TUPLE_REM_OO((size))
38 #define MITK_PP_TUPLE_REM_OO(par) MITK_PP_TUPLE_REM_I##par
39 #endif
40 #
41 #define MITK_PP_TUPLE_REM_I(size) MITK_PP_TUPLE_REM_##size
42 #
43 #define MITK_PP_TUPLE_REM_0()
44 #define MITK_PP_TUPLE_REM_1(a) a
45 #define MITK_PP_TUPLE_REM_2(a, b) a, b
46 #define MITK_PP_TUPLE_REM_3(a, b, c) a, b, c
47 #define MITK_PP_TUPLE_REM_4(a, b, c, d) a, b, c, d
48 #define MITK_PP_TUPLE_REM_5(a, b, c, d, e) a, b, c, d, e
49 #define MITK_PP_TUPLE_REM_6(a, b, c, d, e, f) a, b, c, d, e, f
50 #define MITK_PP_TUPLE_REM_7(a, b, c, d, e, f, g) a, b, c, d, e, f, g
51 #define MITK_PP_TUPLE_REM_8(a, b, c, d, e, f, g, h) a, b, c, d, e, f, g, h
52 #define MITK_PP_TUPLE_REM_9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i
53 #define MITK_PP_TUPLE_REM_10(a, b, c, d, e, f, g, h, i, j) a, b, c, d, e, f, g, h, i, j
54 #define MITK_PP_TUPLE_REM_11(a, b, c, d, e, f, g, h, i, j, k) a, b, c, d, e, f, g, h, i, j, k
55 #define MITK_PP_TUPLE_REM_12(a, b, c, d, e, f, g, h, i, j, k, l) a, b, c, d, e, f, g, h, i, j, k, l
56 #define MITK_PP_TUPLE_REM_13(a, b, c, d, e, f, g, h, i, j, k, l, m) a, b, c, d, e, f, g, h, i, j, k, l, m
57 #define MITK_PP_TUPLE_REM_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a, b, c, d, e, f, g, h, i, j, k, l, m, n
58 #define MITK_PP_TUPLE_REM_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o
59 #define MITK_PP_TUPLE_REM_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) \
60  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p
61 #define MITK_PP_TUPLE_REM_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) \
62  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q
63 #define MITK_PP_TUPLE_REM_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) \
64  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r
65 #define MITK_PP_TUPLE_REM_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) \
66  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s
67 #define MITK_PP_TUPLE_REM_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) \
68  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t
69 #define MITK_PP_TUPLE_REM_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) \
70  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u
71 #define MITK_PP_TUPLE_REM_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) \
72  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v
73 #define MITK_PP_TUPLE_REM_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) \
74  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w
75 #define MITK_PP_TUPLE_REM_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) \
76  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x
77 #define MITK_PP_TUPLE_REM_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) \
78  a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y
79 #
80 #/* MITK_PP_TUPLE_REM_CTOR */
81 #
82 #if ~MITK_PP_CONFIG_FLAGS() & MITK_PP_CONFIG_EDG()
83 #define MITK_PP_TUPLE_REM_CTOR(size, tuple) MITK_PP_TUPLE_REM_CTOR_I(MITK_PP_TUPLE_REM(size), tuple)
84 #else
85 #define MITK_PP_TUPLE_REM_CTOR(size, tuple) MITK_PP_TUPLE_REM_CTOR_D(size, tuple)
86 #define MITK_PP_TUPLE_REM_CTOR_D(size, tuple) MITK_PP_TUPLE_REM_CTOR_I(MITK_PP_TUPLE_REM(size), tuple)
87 #endif
88 #
89 #if ~MITK_PP_CONFIG_FLAGS() & MITK_PP_CONFIG_MWCC()
90 #define MITK_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple
91 #else
92 #define MITK_PP_TUPLE_REM_CTOR_I(ext, tuple) MITK_PP_TUPLE_REM_CTOR_OO((ext, tuple))
93 #define MITK_PP_TUPLE_REM_CTOR_OO(par) MITK_PP_TUPLE_REM_CTOR_II##par
94 #define MITK_PP_TUPLE_REM_CTOR_II(ext, tuple) ext##tuple
95 #endif
96 #
97 #endif