 |
VTK
9.7.1
|
Go to the documentation of this file.
6 #include "vtkABINamespace.h"
10 #define VTK_MODULE_AUTOINIT VTK_AUTOINIT
12 #define VTK_AUTOINIT(M) VTK_AUTOINIT0(M, M##_AUTOINIT)
13 #define VTK_AUTOINIT0(M, T) VTK_AUTOINIT1(M, T)
14 #define VTK_AUTOINIT1(M, T) \
16 VTK_AUTOINIT_DECLARE_##T namespace \
18 static struct M##_AutoInit \
23 VTK_AUTOINIT_CONSTRUCT_##T \
25 } M##_AutoInit_Instance; \
28 #define VTK_AUTOINIT_DECLARE_0()
29 #define VTK_AUTOINIT_DECLARE_1(t1) VTK_AUTOINIT_DECLARE_0() VTK_AUTOINIT_DECLARE(t1)
30 #define VTK_AUTOINIT_DECLARE_2(t1, t2) VTK_AUTOINIT_DECLARE_1(t1) VTK_AUTOINIT_DECLARE(t2)
31 #define VTK_AUTOINIT_DECLARE_3(t1, t2, t3) VTK_AUTOINIT_DECLARE_2(t1, t2) VTK_AUTOINIT_DECLARE(t3)
32 #define VTK_AUTOINIT_DECLARE_4(t1, t2, t3, t4) \
33 VTK_AUTOINIT_DECLARE_3(t1, t2, t3) VTK_AUTOINIT_DECLARE(t4)
34 #define VTK_AUTOINIT_DECLARE_5(t1, t2, t3, t4, t5) \
35 VTK_AUTOINIT_DECLARE_4(t1, t2, t3, t4) VTK_AUTOINIT_DECLARE(t5)
36 #define VTK_AUTOINIT_DECLARE_6(t1, t2, t3, t4, t5, t6) \
37 VTK_AUTOINIT_DECLARE_5(t1, t2, t3, t4, t5) VTK_AUTOINIT_DECLARE(t6)
38 #define VTK_AUTOINIT_DECLARE_7(t1, t2, t3, t4, t5, t6, t7) \
39 VTK_AUTOINIT_DECLARE_6(t1, t2, t3, t4, t5, t6) VTK_AUTOINIT_DECLARE(t7)
40 #define VTK_AUTOINIT_DECLARE_8(t1, t2, t3, t4, t5, t6, t7, t8) \
41 VTK_AUTOINIT_DECLARE_7(t1, t2, t3, t4, t5, t6, t7) VTK_AUTOINIT_DECLARE(t8)
42 #define VTK_AUTOINIT_DECLARE_9(t1, t2, t3, t4, t5, t6, t7, t8, t9) \
43 VTK_AUTOINIT_DECLARE_8(t1, t2, t3, t4, t5, t6, t7, t8) VTK_AUTOINIT_DECLARE(t9)
44 #define VTK_AUTOINIT_DECLARE(M) \
45 VTK_ABI_NAMESPACE_BEGIN void M##_AutoInit_Construct(); \
48 #define VTK_AUTOINIT_CONSTRUCT_0()
49 #define VTK_AUTOINIT_CONSTRUCT_1(t1) VTK_AUTOINIT_CONSTRUCT_0() VTK_AUTOINIT_CONSTRUCT(t1)
50 #define VTK_AUTOINIT_CONSTRUCT_2(t1, t2) VTK_AUTOINIT_CONSTRUCT_1(t1) VTK_AUTOINIT_CONSTRUCT(t2)
51 #define VTK_AUTOINIT_CONSTRUCT_3(t1, t2, t3) \
52 VTK_AUTOINIT_CONSTRUCT_2(t1, t2) VTK_AUTOINIT_CONSTRUCT(t3)
53 #define VTK_AUTOINIT_CONSTRUCT_4(t1, t2, t3, t4) \
54 VTK_AUTOINIT_CONSTRUCT_3(t1, t2, t3) VTK_AUTOINIT_CONSTRUCT(t4)
55 #define VTK_AUTOINIT_CONSTRUCT_5(t1, t2, t3, t4, t5) \
56 VTK_AUTOINIT_CONSTRUCT_4(t1, t2, t3, t4) VTK_AUTOINIT_CONSTRUCT(t5)
57 #define VTK_AUTOINIT_CONSTRUCT_6(t1, t2, t3, t4, t5, t6) \
58 VTK_AUTOINIT_CONSTRUCT_5(t1, t2, t3, t4, t5) VTK_AUTOINIT_CONSTRUCT(t6)
59 #define VTK_AUTOINIT_CONSTRUCT_7(t1, t2, t3, t4, t5, t6, t7) \
60 VTK_AUTOINIT_CONSTRUCT_6(t1, t2, t3, t4, t5, t6) VTK_AUTOINIT_CONSTRUCT(t7)
61 #define VTK_AUTOINIT_CONSTRUCT_8(t1, t2, t3, t4, t5, t6, t7, t8) \
62 VTK_AUTOINIT_CONSTRUCT_7(t1, t2, t3, t4, t5, t6, t7) VTK_AUTOINIT_CONSTRUCT(t8)
63 #define VTK_AUTOINIT_CONSTRUCT_9(t1, t2, t3, t4, t5, t6, t7, t8, t9) \
64 VTK_AUTOINIT_CONSTRUCT_8(t1, t2, t3, t4, t5, t6, t7, t8) VTK_AUTOINIT_CONSTRUCT(t9)
65 #define VTK_AUTOINIT_CONSTRUCT(M) M##_AutoInit_Construct();
80 #define VTK_MODULE_INIT(M) \
81 VTK_AUTOINIT_DECLARE(M) \
84 static struct M##_ModuleInit \
89 VTK_AUTOINIT_CONSTRUCT(M) \
91 } M##_ModuleInit_Instance; \