MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

lt_define.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12
22 #ifndef LT_DEFINE_H
23 #define LT_DEFINE_H
24
25 #include "lt_platform.h"
26
27 #if defined(LT_COMPILER_MS)
28 #pragma warning(push,4)
29 #endif
30
31
36
37 #if defined(__cplusplus)
38
39 #define LT_CPLUSPLUS
40
41 #define LT_DISALLOW_COPY_CONSTRUCTOR(classname) \
42 private: \
43 classname(const classname &); \
44 classname &operator=(const classname &)
45
46 #endif
47
48 /*}@*/
49
50
55
56 #if defined(__cplusplus) && \
57 ( defined(LT_COMPILER_MS) || \
58 defined(LT_COMPILER_GNU) || \
59 defined(LT_COMPILER_SUN) || \
60 defined(_USE_NAMESPACE_) )
61
62 #define LT_NAMESPACE_SUPPORT
63 #else
64
65 #undef LT_NAMESPACE_SUPPORT
66 #endif
67
68 #ifdef LT_NAMESPACE_SUPPORT
69
70 #define LT_BEGIN_NAMESPACE( theNameSpace ) namespace theNameSpace {
71
72 #define LT_END_NAMESPACE( theNameSpace ) }
73
75 #define LT_BEGIN_NAMELESS_NAMESPACE namespace {
76
77 #define LT_END_NAMELESS_NAMESPACE }
78
80 #define LT_USE_NAMESPACE( theNameSpace ) using namespace theNameSpace;
81
82 #define LT_USE_NAME( theName ) using theName;
83 #else
84 #define LT_BEGIN_NAMESPACE( theNameSpace )
85 #define LT_END_NAMESPACE( theNameSpace )
86
87 #define LT_BEGIN_NAMELESS_NAMESPACE
88 #define LT_END_NAMELESS_NAMESPACE
89
90 #define LT_USE_NAMESPACE( theNameSpace )
91 #define LT_USE_NAME( theName )
92 #endif
93
94 // (note this is the same model that is used in lidar/Base.h,
95 // except we say "USING" instead of "USE")
96 #define LT_BEGIN_LIZARDTECH_NAMESPACE namespace LizardTech {
97 #define LT_END_LIZARDTECH_NAMESPACE }
98 #define LT_USING_LIZARDTECH_NAMESPACE using namespace LizardTech;
99
107
108 #if (defined(LT_OS_WIN) && defined(_DEBUG))
109
110 #define LT_DEBUG
111 #endif
112
120
122 #define LT_STRINGIFY(x) #x
123
124 #define LT_XSTRINGIFY(x) LT_STRINGIFY(x)
125
127 #define LT_MIN(A,B) ((A) < (B) ? (A) : (B))
128
129 #define LT_MAX(A,B) ((A) > (B) ? (A) : (B))
130
141 #define LT_STATUSSTRING_ADD(NUM,STR)
142
146 #if defined(LT_COMPILER_MS)
147 #pragma warning(pop)
148 #endif
149
150
151 /* globally disable spurious VC++ warning resulting from use of templates */
152 #ifdef LT_COMPILER_MS
153 #pragma warning(disable:4786)
154 #endif
155
156 /* WinCE does not support the concept of a "current working directory"
157 All file paths are relative to root. Emulator-based validation
158 uses this macro to work around this limitation */
159 #ifdef LT_OS_WINCE
160 #define WINCE_STORAGECARD "/Storage Card/"
161 #else
162 #define WINCE_STORAGECARD ""
163 #endif
164
165
166 /* other includes to provide users of lt_define.h */
167 #include "lt_types.h"
168
169 #endif /* LT_DEFINE_H */

LizardTech