+template <class T>
+class allocator_noconstruct:
+ public ::std::_bits::allocator_real<T>
+{
+public:
+ void construct( typename allocator_real<T>::pointer p, typename allocator_real<T>::const_reference val ) {
+ *p = val;
+ }
+ void destroy(typename allocator_real<T>::pointer p) {
+ }
+};
+
+};
+
+template <class T>
+class allocator:
+ public _bits::allocator_real<T>
+{
+};
+
+#if 1
+template <>
+class allocator<unsigned char>:
+ public _bits::allocator_noconstruct<unsigned char>
+{
+};
+template <>
+class allocator<unsigned long>:
+ public _bits::allocator_noconstruct<unsigned long>
+{
+};
+#endif
+