Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

compiler.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  *   FILE
00004  *      pqxx/compiler.h
00005  *
00006  *   DESCRIPTION
00007  *      Compiler deficiency workarounds
00008  *
00009  * Copyright (c) 2002-2003, Jeroen T. Vermeulen <jtv@xs4all.nl>
00010  *
00011  *-------------------------------------------------------------------------
00012  */
00013 #ifndef PQXX_COMPILER_H
00014 #define PQXX_COMPILER_H
00015 
00016 #include "pqxx/config.h"
00017 
00018 #ifdef BROKEN_ITERATOR
00019 namespace PGSTD
00020 {
00022 template<typename Cat, 
00023          typename T, 
00024          typename Dist, 
00025          typename Ptr=T*,
00026          typename Ref=T&> struct iterator
00027 {
00028   typedef Cat iterator_category;
00029   typedef T value_type;
00030   typedef Dist difference_type;
00031   typedef Ptr pointer;
00032   typedef Ref reference;
00033 };
00034 }
00035 #else
00036 #include <iterator>
00037 #endif // BROKEN_ITERATOR
00038 
00039 
00040 #ifdef HAVE_LIMITS
00041 #include <limits>
00042 #else // HAVE_LIMITS
00043 #include <climits>
00044 namespace PGSTD
00045 {
00047 template<typename T> struct numeric_limits
00048 {
00049   static T max() throw ();
00050   static T min() throw ();
00051 };
00052 
00053 template<> inline long numeric_limits<long>::max() throw () {return LONG_MAX;}
00054 template<> inline long numeric_limits<long>::min() throw () {return LONG_MIN;}
00055 }
00056 #endif // HAVE_LIMITS
00057 
00058 
00059 // Used for Windows DLL
00060 #ifndef PQXX_LIBEXPORT
00061 #define PQXX_LIBEXPORT
00062 #endif
00063 
00064 #endif
00065 

Generated on Fri Feb 28 19:23:32 2003 for libpqxx by doxygen1.3-rc3