forked from boostorg/container
Fixes #156: ("Compile error with vector") and remove warnings about precission loss due to integer narrowing
This commit is contained in:
@@ -23,6 +23,29 @@ volatile ::boost::container::vector<empty> dummy;
|
||||
#include "movable_int.hpp"
|
||||
#include "dummy_test_allocator.hpp"
|
||||
|
||||
class CustomAllocator
|
||||
{
|
||||
public:
|
||||
typedef int value_type;
|
||||
typedef value_type* pointer;
|
||||
typedef const value_type* const_pointer;
|
||||
typedef unsigned short size_type;
|
||||
typedef short difference_type;
|
||||
|
||||
pointer allocate(size_type count)
|
||||
{ return (pointer)new char[sizeof(value_type)*count]; }
|
||||
|
||||
void deallocate(pointer ptr, size_type )
|
||||
{ delete [](char*)ptr; }
|
||||
|
||||
friend bool operator==(CustomAllocator const&, CustomAllocator const&) BOOST_NOEXCEPT
|
||||
{ return true; }
|
||||
|
||||
friend bool operator!=(CustomAllocator const& x, CustomAllocator const& y) BOOST_NOEXCEPT
|
||||
{ return !(x == y); }
|
||||
};
|
||||
|
||||
|
||||
namespace boost {
|
||||
namespace container {
|
||||
|
||||
@@ -44,6 +67,9 @@ template class boost::container::vector< test::movable_and_copyable_int
|
||||
, vector_options< stored_size<unsigned short> >::type
|
||||
>;
|
||||
|
||||
//test custom allocator with small size_type
|
||||
template class boost::container::vector<int, CustomAllocator>;
|
||||
|
||||
} //namespace boost {
|
||||
} //namespace container {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user