conditionalized missed member templates, |numeric_limits| use

This commit is contained in:
scc%netscape.com 1999-07-21 03:23:09 +00:00
Родитель 4dd1ac109f
Коммит 85e6e0f0b3
1 изменённых файлов: 14 добавлений и 4 удалений

Просмотреть файл

@ -3,16 +3,21 @@
#include "nsIAllocator.h" // for |nsAllocator|
#include "nscore.h" // for |NS_XXX_CAST|
// #include <limits>
#include <limits.h>
// under Metrowerks (Mac), we don't have autoconf yet
#ifdef __MWERKS__
#define HAVE_CPP_MEMBER_TEMPLATES
#define HAVE_CPP_NUMERIC_LIMITS
#endif
#ifdef HAVE_CPP_NUMERIC_LIMITS
#include <limits>
#else
#include <limits.h>
#endif
template <class T>
class nsCppSharedAllocator
/*
@ -35,8 +40,10 @@ class nsCppSharedAllocator
nsCppSharedAllocator() { }
#ifdef HAVE_CPP_MEMBER_TEMPLATES
template <class U>
nsCppSharedAllocator( const nsCppSharedAllocator<U>& ) { }
#endif
~nsCppSharedAllocator() { }
@ -80,8 +87,11 @@ class nsCppSharedAllocator
size_type
max_size() const
{
// return numeric_limits<size_type>::max() / sizeof(T);
#ifdef HAVE_CPP_NUMERIC_LIMITS
return numeric_limits<size_type>::max() / sizeof(T);
#else
return ULONG_MAX / sizeof(T);
#endif
}
#ifdef HAVE_CPP_MEMBER_TEMPLATES