#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 {
template class vec_iterator<int*, true >;
template class vec_iterator<int*, false>;
+//Test stored_size option
+template class boost::container::vector< test::movable_and_copyable_int
+ , new_allocator<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 {