G+S
mo
24.08.0
Geometry + Simulation Modules
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
HelperMacros.h
1
#ifndef UNITTEST_HELPERMACROS_H
2
#define UNITTEST_HELPERMACROS_H
3
4
#include "Config.h"
5
6
#define UNITTEST_MULTILINE_MACRO_BEGIN do {
7
8
#if defined(UNITTEST_WIN32) && !defined(UNITTEST_COMPILER_IS_MSVC6)
9
#define UNITTEST_MULTILINE_MACRO_END \
10
} __pragma(warning(push)) __pragma(warning(disable:4127)) while (0) __pragma(warning(pop))
11
#else
12
#define UNITTEST_MULTILINE_MACRO_END } while(0)
13
#endif
14
15
16
#ifdef UNITTEST_WIN32_DLL
17
#define UNITTEST_IMPORT __declspec(dllimport)
18
#define UNITTEST_EXPORT __declspec(dllexport)
19
20
#ifdef UNITTEST_DLL_EXPORT
21
#define UNITTEST_LINKAGE UNITTEST_EXPORT
22
#define UNITTEST_IMPEXP_TEMPLATE
23
#else
24
#define UNITTEST_LINKAGE UNITTEST_IMPORT
25
#define UNITTEST_IMPEXP_TEMPLATE extern
26
#endif
27
28
#define UNITTEST_STDVECTOR_LINKAGE(T) \
29
__pragma(warning(push)) \
30
__pragma(warning(disable:4231)) \
31
UNITTEST_IMPEXP_TEMPLATE template class UNITTEST_LINKAGE std::allocator< T >; \
32
UNITTEST_IMPEXP_TEMPLATE template class UNITTEST_LINKAGE std::vector< T >; \
33
__pragma(warning(pop))
34
#else
35
#define UNITTEST_IMPORT
36
#define UNITTEST_EXPORT
37
#define UNITTEST_LINKAGE
38
#define UNITTEST_IMPEXP_TEMPLATE
39
#define UNITTEST_STDVECTOR_LINKAGE(T)
40
#endif
41
42
#ifdef UNITTEST_WIN32
43
#define UNITTEST_JMPBUF jmp_buf
44
#define UNITTEST_SETJMP setjmp
45
#define UNITTEST_LONGJMP longjmp
46
#elif defined UNITTEST_POSIX
47
#define UNITTEST_JMPBUF std::jmp_buf
48
#define UNITTEST_SETJMP setjmp
49
#define UNITTEST_LONGJMP std::longjmp
50
#endif
51
52
#endif
gismo
optional
gsUnitTest
HelperMacros.h
Generated on Thu Nov 21 2024 14:52:14 for G+Smo by Doxygen v1.8.5