MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
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