Commit 9500dff0 by John Kessenich

Upgrade to MSVC 11. Fix pool_allocator a bit.

parent 53fb4657
...@@ -19,10 +19,12 @@ ...@@ -19,10 +19,12 @@
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
......
...@@ -19,10 +19,12 @@ ...@@ -19,10 +19,12 @@
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc> <UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
......
...@@ -283,37 +283,13 @@ public: ...@@ -283,37 +283,13 @@ public:
pointer address(reference x) const { return &x; } pointer address(reference x) const { return &x; }
const_pointer address(const_reference x) const { return &x; } const_pointer address(const_reference x) const { return &x; }
#ifdef USING_SGI_STL
pool_allocator() { }
#else
pool_allocator() : allocator(GlobalPoolAllocator) { } pool_allocator() : allocator(GlobalPoolAllocator) { }
pool_allocator(TPoolAllocator& a) : allocator(a) { } pool_allocator(TPoolAllocator& a) : allocator(a) { }
pool_allocator(const pool_allocator<T>& p) : allocator(p.allocator) { } pool_allocator(const pool_allocator<T>& p) : allocator(p.allocator) { }
#endif
#if defined(_MSC_VER) && _MSC_VER >= 1300
template<class Other> template<class Other>
#ifdef USING_SGI_STL
pool_allocator(const pool_allocator<Other>& p) /*: allocator(p.getAllocator())*/ { }
#else
pool_allocator(const pool_allocator<Other>& p) : allocator(p.getAllocator()) { } pool_allocator(const pool_allocator<Other>& p) : allocator(p.getAllocator()) { }
#endif
#endif
#ifndef _WIN32
template<class Other>
pool_allocator(const pool_allocator<Other>& p) : allocator(p.getAllocator()) { }
#endif
#ifdef USING_SGI_STL
static pointer allocate(size_type n) {
return reinterpret_cast<pointer>(getAllocator().allocate(n)); }
pointer allocate(size_type n, const void*) {
return reinterpret_cast<pointer>(getAllocator().allocate(n)); }
static void deallocate(void*, size_type) { }
static void deallocate(pointer, size_type) { }
#else
pointer allocate(size_type n) { pointer allocate(size_type n) {
return reinterpret_cast<pointer>(getAllocator().allocate(n * sizeof(T))); } return reinterpret_cast<pointer>(getAllocator().allocate(n * sizeof(T))); }
pointer allocate(size_type n, const void*) { pointer allocate(size_type n, const void*) {
...@@ -321,7 +297,6 @@ public: ...@@ -321,7 +297,6 @@ public:
void deallocate(void*, size_type) { } void deallocate(void*, size_type) { }
void deallocate(pointer, size_type) { } void deallocate(pointer, size_type) { }
#endif
pointer _Charalloc(size_t n) { pointer _Charalloc(size_t n) {
return reinterpret_cast<pointer>(getAllocator().allocate(n)); } return reinterpret_cast<pointer>(getAllocator().allocate(n)); }
...@@ -335,16 +310,12 @@ public: ...@@ -335,16 +310,12 @@ public:
size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); } size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); }
size_type max_size(int size) const { return static_cast<size_type>(-1) / size; } size_type max_size(int size) const { return static_cast<size_type>(-1) / size; }
#ifdef USING_SGI_STL
//void setAllocator(TPoolAllocator* a) { allocator = a; }
static TPoolAllocator& getAllocator() { return GlobalPoolAllocator; }
#else
void setAllocator(TPoolAllocator* a) { allocator = *a; } void setAllocator(TPoolAllocator* a) { allocator = *a; }
TPoolAllocator& getAllocator() const { return allocator; } TPoolAllocator& getAllocator() const { return allocator; }
protected: protected:
pool_allocator& operator=(const pool_allocator& rhs) { return *this; }
TPoolAllocator& allocator; TPoolAllocator& allocator;
#endif
}; };
#endif // _POOLALLOC_INCLUDED_ #endif // _POOLALLOC_INCLUDED_
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment