44 #if !defined (__cplusplus)
45 #error "This file is for C++ compilands only"
49 #error "Windows is the only platform supported"
55 #define BENTLEYCONFIG_GRAPHICS_DIRECTX
62 #define DLLPUBLIC_ATTRIBUTE
63 #define EXPORT_ATTRIBUTE __declspec(dllexport)
64 #define IMPORT_ATTRIBUTE __declspec(dllimport)
65 #define DLLLOCAL_ATTRIBUTE
66 #define DLLPUBLIC_ATTRIBUTE
67 #define EXPORT_VTABLE_ATTRIBUTE
68 #define CDECL_ATTRIBUTE __cdecl
69 #define STDCALL_ATTRIBUTE __stdcall
70 #define ENUM_UNDERLYING_TYPE(T) : T
72 #if (_MSC_VER < 1600) // INTPTR_MIN et al are defined in stdint.h. Microsoft started delivering stdint.h as of VS2010
75 #define INTPTR_MIN _I64_MIN
76 #define INTPTR_MAX _I64_MAX
77 #define UINTPTR_MAX _UI64_MAX
79 #define INTPTR_MIN _I32_MIN
80 #define INTPTR_MAX _I32_MAX
81 #define UINTPTR_MAX _UI32_MAX
86 #define STD_TR1 std::tr1
95 #define DECLARE_KEY_METHOD
98 #ifdef CREATE_STATIC_LIBRARIES
99 #undef EXPORT_ATTRIBUTE
100 #undef IMPORT_ATTRIBUTE
101 #define EXPORT_ATTRIBUTE
102 #define IMPORT_ATTRIBUTE
115 #define INT32_MAX INT_MAX
118 #define UINT32_MAX UINT_MAX
121 #define INT64_MAX LLONG_MAX
124 #define UINT64_MAX ULLONG_MAX
127 #define INT32_MIN INT_MIN
130 #define INT64_MIN LLONG_MIN
133 #define USING_NAMESPACE_BENTLEY using namespace BENTLEY_NAMESPACE_NAME;
136 #define DEFINE_POINTER_SUFFIX_TYPEDEFS(_structname_) \
137 struct _structname_; \
138 typedef _structname_* _structname_##P, &_structname_##R; \
139 typedef _structname_ const* _structname_##CP; \
140 typedef _structname_ const& _structname_##CR;
143 #define ADD_BENTLEY_TYPEDEFS1(_namespace_,_sourceName_,_name_,structclass) \
144 namespace BENTLEY_NAMESPACE_NAME {\
145 typedef structclass _namespace_ :: _sourceName_* _name_##P, &_name_##R; \
146 typedef structclass _namespace_ :: _sourceName_ const* _name_##CP; \
147 typedef structclass _namespace_ :: _sourceName_ const& _name_##CR; }
149 #define ADD_BENTLEY_TYPEDEFS(_namespace_,_name_) ADD_BENTLEY_TYPEDEFS1(_namespace_,_name_,_name_,struct)
150 #define ADD_BENTLEY_ENUM_TYPEDEF(_namespace_,_name_,_tEnum_) namespace BENTLEY_NAMESPACE_NAME {typedef enum _namespace_ :: _name_ _tEnum_;}
151 #define BENTLEY_TYPEDEF(t,tP) namespace BENTLEY_NAMESPACE_NAME {struct t; typedef struct BENTLEY_NAMESPACE_NAME::t* tP;}
152 #define BENTLEY_TYPEDEFS(_name_) namespace BENTLEY_NAMESPACE_NAME {struct _name_;} ADD_BENTLEY_TYPEDEFS(BENTLEY_NAMESPACE_NAME,_name_)
153 #define BENTLEY_REF_COUNTED_PTR(_sname_) namespace BENTLEY_NAMESPACE_NAME {struct _sname_; typedef RefCountedPtr<_sname_> _sname_##Ptr;}
160 #if !defined (NO_BENTLEY_PUBLIC)
164 #define BEGIN_EXTERN_C extern "C" {
165 #define END_EXTERN_C }
166 #define ALLOW_NULL_OUTPUT(var,out) _t_##var, &var(out?*out:_t_##var)
167 #define DEFINE_T_SUPER(B) private: typedef B T_Super; public:
184 #if !defined (_WINGDI_)
185 #define NOGDI // Do NOT let WinGDI.h define ERROR to 0 !!!!
246 #if !defined (NO_USING_NAMESPACE_BENTLEY)
249 #define BENTLEYDLL_EXPORT IMPORT_ATTRIBUTE
Contains a UTF-8 encoded string.
Definition: WString.h:275
char * CharP
Definition: Bentley.h:227
uint16_t Utf16Char
Definition: Bentley.r.h:155
Definition: Bentley.h:212
wchar_t * WCharP
Definition: Bentley.h:225
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:30
wchar_t WChar
Definition: Bentley.h:223
Contains common typedefs and #defines to be used by .cpp, .r and .mt source files (Bentley/Bentley...
Utf16Char const * Utf16CP
Definition: Bentley.h:231
BentleyTrueFalse
Definition: Bentley.h:202
wchar_t const * WCharCP
Definition: Bentley.h:224
#define USING_NAMESPACE_BENTLEY
Definition: Bentley.h:133
__w64 unsigned long ULONG_PTR
Definition: Bentley.h:92
#define BEGIN_BENTLEY_NAMESPACE
Definition: Bentley.r.h:24
Definition: Bentley.h:205
Utf8Char * Utf8P
Definition: Bentley.h:228
BentleyStatus
Definition: Bentley.h:208
Utf16Char * Utf16P
Definition: Bentley.h:230
BentleyCharEncoding
Definition: Bentley.h:216
void const * UserDataCP
Definition: Bentley.h:234
Definition: Bentley.h:211
#define BENTLEY_TYPEDEFS(_name_)
Definition: Bentley.h:152
Definition: Bentley.h:204
int StatusInt
Definition: Bentley.h:222
Utf8Char const * Utf8CP
Definition: Bentley.h:229
char const * CharCP
Definition: Bentley.h:226
Definition: Bentley.h:210
#define END_BENTLEY_NAMESPACE
Definition: Bentley.r.h:25
void * CallbackArgP
Definition: Bentley.h:235
void * UserDataP
Definition: Bentley.h:233
Reads and Writes Text Files regardless of whether they are encoded on disk as locale-encoded ASCII...
Definition: BeTextFile.h:67
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:51
Definition: Bentley.h:213
char Utf8Char
Definition: Bentley.r.h:156