X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc%2B%2B.so_src%2Finclude_exp%2Fallocator;h=1608a3c72ed36f273230782e84a58104be4c1a3b;hb=145dd00e5c5a36f844be327e16a00b2983245423;hp=6057eb3d45ce9815f2d260fc6a894f14d6662353;hpb=1a4752fe23a96f47fb83c57861aa991681fa98b0;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc++.so_src/include_exp/allocator b/Usermode/Libraries/libc++.so_src/include_exp/allocator index 6057eb3d..1608a3c7 100644 --- a/Usermode/Libraries/libc++.so_src/include_exp/allocator +++ b/Usermode/Libraries/libc++.so_src/include_exp/allocator @@ -16,7 +16,12 @@ namespace std { -template class allocator +template class allocator; + +namespace _bits { + +template +class allocator_real { public: typedef T value_type; @@ -33,14 +38,14 @@ public: typedef allocator other; }; - allocator() throw() { + allocator_real() throw() { } - allocator(const allocator& alloc __attribute__((unused))) throw() { + allocator_real(const allocator_real& alloc __attribute__((unused))) throw() { } template - allocator(const allocator& alloc) throw() { + allocator_real(const allocator_real& alloc) throw() { } - ~allocator() throw() { + ~allocator_real() throw() { } pointer address(reference x) const { @@ -75,6 +80,39 @@ public: } }; +template +class allocator_noconstruct: + public ::std::_bits::allocator_real +{ +public: + void construct( typename allocator_real::pointer p, typename allocator_real::const_reference val ) { + *p = val; + } + void destroy(typename allocator_real::pointer p) { + } +}; + +}; + +template +class allocator: + public _bits::allocator_real +{ +}; + +#if 1 +template <> +class allocator: + public _bits::allocator_noconstruct +{ +}; +template <> +class allocator: + public _bits::allocator_noconstruct +{ +}; +#endif + }; #endif