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 
  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