forked from boostorg/smart_ptr
Fixes for Comeau with Borland as backend.
[SVN r17588]
This commit is contained in:
@ -32,17 +32,17 @@ namespace boost
|
|||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
|
||||||
template<unsigned size, unsigned align> union freeblock
|
template<unsigned size, unsigned align_> union freeblock
|
||||||
{
|
{
|
||||||
typedef typename boost::type_with_alignment<align>::type aligner_type;
|
typedef typename boost::type_with_alignment<align_>::type aligner_type;
|
||||||
aligner_type aligner;
|
aligner_type aligner;
|
||||||
char bytes[size];
|
char bytes[size];
|
||||||
freeblock * next;
|
freeblock * next;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<unsigned size, unsigned align> struct allocator_impl
|
template<unsigned size, unsigned align_> struct allocator_impl
|
||||||
{
|
{
|
||||||
typedef freeblock<size, align> block;
|
typedef freeblock<size, align_> block;
|
||||||
|
|
||||||
// It may seem odd to use such small pages.
|
// It may seem odd to use such small pages.
|
||||||
//
|
//
|
||||||
@ -162,18 +162,18 @@ template<unsigned size, unsigned align> struct allocator_impl
|
|||||||
};
|
};
|
||||||
|
|
||||||
#ifdef BOOST_HAS_THREADS
|
#ifdef BOOST_HAS_THREADS
|
||||||
template<unsigned size, unsigned align>
|
template<unsigned size, unsigned align_>
|
||||||
lightweight_mutex allocator_impl<size, align>::mutex;
|
lightweight_mutex allocator_impl<size, align_>::mutex;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
template<unsigned size, unsigned align>
|
template<unsigned size, unsigned align_>
|
||||||
freeblock<size, align> * allocator_impl<size, align>::free = 0;
|
freeblock<size, align_> * allocator_impl<size, align_>::free = 0;
|
||||||
|
|
||||||
template<unsigned size, unsigned align>
|
template<unsigned size, unsigned align_>
|
||||||
freeblock<size, align> * allocator_impl<size, align>::page = 0;
|
freeblock<size, align_> * allocator_impl<size, align_>::page = 0;
|
||||||
|
|
||||||
template<unsigned size, unsigned align>
|
template<unsigned size, unsigned align_>
|
||||||
unsigned allocator_impl<size, align>::last = allocator_impl<size, align>::items_per_page;
|
unsigned allocator_impl<size, align_>::last = allocator_impl<size, align_>::items_per_page;
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value >
|
struct quick_allocator: public allocator_impl< sizeof(T), boost::alignment_of<T>::value >
|
||||||
|
Reference in New Issue
Block a user