17 #ifndef PQXX_H_COMPILER_PUBLIC 18 #define PQXX_H_COMPILER_PUBLIC 20 #ifdef PQXX_HAVE_BOOST_SMART_PTR 21 #include <boost/smart_ptr.hpp> 26 #define PQXX_MOVE(value) (PGSTD::move(value)) 28 #define PQXX_MOVE(value) (value) 43 #if defined(min) || defined(max) 44 #error "Oops: min() and/or max() are defined as preprocessor macros.\ 45 Define NOMINMAX macro before including any system headers!" 53 #define PQXX_NOVTABLE __declspec(novtable) 59 #include "pqxx/config-public-compiler.h" 62 #ifdef PQXX_BROKEN_ITERATOR 77 template<
typename Cat,
81 typename Ref=T&>
struct iterator
83 typedef Cat iterator_category;
85 typedef Dist difference_type;
87 typedef Ref reference;
92 #endif // PQXX_BROKEN_ITERATOR 94 #ifndef PQXX_HAVE_CHAR_TRAITS 108 static int_type
eof() {
return -1; }
118 static int_type
eof() {
return -1; }
124 #if defined(__SUNPRO_CC) 125 #if __SUNPRO_CC_COMPAT < 5 126 #error "This compiler version is not capable of building libpqxx." 127 #endif // __SUNPRO_CC_COMPAT < 5 128 #define PQXX_PRIVATE __hidden 129 #endif // __SUNPRO_CC 133 #if defined(__DECCXX_VER) 134 #define __USE_STD_IOSTREAM 135 #endif // __DECCXX_VER 137 #if defined(__GNUC__) && defined(PQXX_HAVE_GCC_CONST) 138 #define PQXX_CONST __attribute__ ((const)) 143 #if defined(__GNUC__) && defined(PQXX_HAVE_GCC_DEPRECATED) 144 #define PQXX_DEPRECATED __attribute__ ((deprecated)) 146 #define PQXX_DEPRECATED 149 #if defined(__GNUC__) && defined(PQXX_HAVE_GCC_NORETURN) 150 #define PQXX_NORETURN __attribute__ ((noreturn)) 152 #define PQXX_NORETURN 155 #if defined(__GNUC__) && defined(PQXX_HAVE_GCC_PURE) 156 #define PQXX_PURE __attribute__ ((pure)) 171 #if !defined(PQXX_LIBEXPORT) && defined(PQXX_SHARED) 172 #define PQXX_LIBEXPORT __declspec(dllimport) 173 #endif // !PQXX_LIBEXPORT && PQXX_SHARED 180 #error If you're using Visual C++, you'll need at least version 7 (.NET) 181 #elif _MSC_VER < 1310 183 #undef PQXX_HAVE_REVERSE_ITERATOR 184 #define PQXX_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION 185 #define PQXX_TYPENAME 186 #endif // _MSC_VER < 1310 192 #if defined(PQXX_AUTOLINK) 193 #if defined(PQXX_PQ_STATIC) 195 #pragma comment(lib, "libpqd") 197 #pragma comment(lib, "libpq") 201 #pragma comment(lib, "libpqddll") 203 #pragma comment(lib, "libpqdll") 215 #if defined(PQXX_AUTOLINK) && !defined(PQXX_INTERNAL) 218 #pragma comment(lib, "libpqxxD") 220 #pragma comment(lib, "libpqxx") 222 #else // !PQXX_SHARED 224 #pragma comment(lib, "libpqxx_staticD") 226 #pragma comment(lib, "libpqxx_static") 244 #define PQXX_QUIET_DESTRUCTORS 249 #ifndef PQXX_LIBEXPORT 250 #define PQXX_LIBEXPORT 258 #ifndef PQXX_TYPENAME 259 #define PQXX_TYPENAME typename 262 #ifndef PQXX_NOVTABLE 263 #define PQXX_NOVTABLE int int_type
Definition: compiler-public.hxx:103
long off_type
Definition: compiler-public.hxx:115
size_t pos_type
Definition: compiler-public.hxx:104
int int_type
Definition: compiler-public.hxx:113
unsigned char char_type
Definition: compiler-public.hxx:116
size_t pos_type
Definition: compiler-public.hxx:114
Work around missing std::char_traits.
Definition: compiler-public.hxx:99
char char_type
Definition: compiler-public.hxx:106
static int_type eof()
Definition: compiler-public.hxx:108
long off_type
Definition: compiler-public.hxx:105
static int_type eof()
Definition: compiler-public.hxx:118