|
VTK
9.1.0
|
Go to the documentation of this file.
21#define VTK_MODULE_AUTOINIT VTK_AUTOINIT
23#define VTK_AUTOINIT(M) VTK_AUTOINIT0(M, M##_AUTOINIT)
24#define VTK_AUTOINIT0(M, T) VTK_AUTOINIT1(M, T)
25#define VTK_AUTOINIT1(M, T) \
27 VTK_AUTOINIT_DECLARE_##T namespace \
29 static struct M##_AutoInit \
32 M##_AutoInit() { VTK_AUTOINIT_CONSTRUCT_##T } \
33 } M##_AutoInit_Instance; \
36#define VTK_AUTOINIT_DECLARE_0()
37#define VTK_AUTOINIT_DECLARE_1(t1) VTK_AUTOINIT_DECLARE_0() VTK_AUTOINIT_DECLARE(t1)
38#define VTK_AUTOINIT_DECLARE_2(t1, t2) VTK_AUTOINIT_DECLARE_1(t1) VTK_AUTOINIT_DECLARE(t2)
39#define VTK_AUTOINIT_DECLARE_3(t1, t2, t3) VTK_AUTOINIT_DECLARE_2(t1, t2) VTK_AUTOINIT_DECLARE(t3)
40#define VTK_AUTOINIT_DECLARE_4(t1, t2, t3, t4) \
41 VTK_AUTOINIT_DECLARE_3(t1, t2, t3) VTK_AUTOINIT_DECLARE(t4)
42#define VTK_AUTOINIT_DECLARE_5(t1, t2, t3, t4, t5) \
43 VTK_AUTOINIT_DECLARE_4(t1, t2, t3, t4) VTK_AUTOINIT_DECLARE(t5)
44#define VTK_AUTOINIT_DECLARE_6(t1, t2, t3, t4, t5, t6) \
45 VTK_AUTOINIT_DECLARE_5(t1, t2, t3, t4, t5) VTK_AUTOINIT_DECLARE(t6)
46#define VTK_AUTOINIT_DECLARE_7(t1, t2, t3, t4, t5, t6, t7) \
47 VTK_AUTOINIT_DECLARE_6(t1, t2, t3, t4, t5, t6) VTK_AUTOINIT_DECLARE(t7)
48#define VTK_AUTOINIT_DECLARE_8(t1, t2, t3, t4, t5, t6, t7, t8) \
49 VTK_AUTOINIT_DECLARE_7(t1, t2, t3, t4, t5, t6, t7) VTK_AUTOINIT_DECLARE(t8)
50#define VTK_AUTOINIT_DECLARE_9(t1, t2, t3, t4, t5, t6, t7, t8, t9) \
51 VTK_AUTOINIT_DECLARE_8(t1, t2, t3, t4, t5, t6, t7, t8) VTK_AUTOINIT_DECLARE(t9)
52#define VTK_AUTOINIT_DECLARE(M) void M##_AutoInit_Construct();
54#define VTK_AUTOINIT_CONSTRUCT_0()
55#define VTK_AUTOINIT_CONSTRUCT_1(t1) VTK_AUTOINIT_CONSTRUCT_0() VTK_AUTOINIT_CONSTRUCT(t1)
56#define VTK_AUTOINIT_CONSTRUCT_2(t1, t2) VTK_AUTOINIT_CONSTRUCT_1(t1) VTK_AUTOINIT_CONSTRUCT(t2)
57#define VTK_AUTOINIT_CONSTRUCT_3(t1, t2, t3) \
58 VTK_AUTOINIT_CONSTRUCT_2(t1, t2) VTK_AUTOINIT_CONSTRUCT(t3)
59#define VTK_AUTOINIT_CONSTRUCT_4(t1, t2, t3, t4) \
60 VTK_AUTOINIT_CONSTRUCT_3(t1, t2, t3) VTK_AUTOINIT_CONSTRUCT(t4)
61#define VTK_AUTOINIT_CONSTRUCT_5(t1, t2, t3, t4, t5) \
62 VTK_AUTOINIT_CONSTRUCT_4(t1, t2, t3, t4) VTK_AUTOINIT_CONSTRUCT(t5)
63#define VTK_AUTOINIT_CONSTRUCT_6(t1, t2, t3, t4, t5, t6) \
64 VTK_AUTOINIT_CONSTRUCT_5(t1, t2, t3, t4, t5) VTK_AUTOINIT_CONSTRUCT(t6)
65#define VTK_AUTOINIT_CONSTRUCT_7(t1, t2, t3, t4, t5, t6, t7) \
66 VTK_AUTOINIT_CONSTRUCT_6(t1, t2, t3, t4, t5, t6) VTK_AUTOINIT_CONSTRUCT(t7)
67#define VTK_AUTOINIT_CONSTRUCT_8(t1, t2, t3, t4, t5, t6, t7, t8) \
68 VTK_AUTOINIT_CONSTRUCT_7(t1, t2, t3, t4, t5, t6, t7) VTK_AUTOINIT_CONSTRUCT(t8)
69#define VTK_AUTOINIT_CONSTRUCT_9(t1, t2, t3, t4, t5, t6, t7, t8, t9) \
70 VTK_AUTOINIT_CONSTRUCT_8(t1, t2, t3, t4, t5, t6, t7, t8) VTK_AUTOINIT_CONSTRUCT(t9)
71#define VTK_AUTOINIT_CONSTRUCT(M) M##_AutoInit_Construct();
86#define VTK_MODULE_INIT(M) \
87 VTK_AUTOINIT_DECLARE(M) namespace \
89 static struct M##_ModuleInit \
92 M##_ModuleInit() { VTK_AUTOINIT_CONSTRUCT(M) } \
93 } M##_ModuleInit_Instance; \