| Index: swig/Lib/std/std_alloc.i
|
| ===================================================================
|
| --- swig/Lib/std/std_alloc.i (revision 0)
|
| +++ swig/Lib/std/std_alloc.i (revision 0)
|
| @@ -0,0 +1,77 @@
|
| +namespace std
|
| +{
|
| + /**
|
| + * @brief The "standard" allocator, as per [20.4].
|
| + *
|
| + * The private _Alloc is "SGI" style. (See comments at the top
|
| + * of stl_alloc.h.)
|
| + *
|
| + * The underlying allocator behaves as follows.
|
| + * - __default_alloc_template is used via two typedefs
|
| + * - "__single_client_alloc" typedef does no locking for threads
|
| + * - "__alloc" typedef is threadsafe via the locks
|
| + * - __new_alloc is used for memory requests
|
| + *
|
| + * (See @link Allocators allocators info @endlink for more.)
|
| + */
|
| + template<typename _Tp>
|
| + class allocator
|
| + {
|
| + public:
|
| + typedef size_t size_type;
|
| + typedef ptrdiff_t difference_type;
|
| + typedef _Tp* pointer;
|
| + typedef const _Tp* const_pointer;
|
| + typedef _Tp& reference;
|
| + typedef const _Tp& const_reference;
|
| + typedef _Tp value_type;
|
| +
|
| + template<typename _Tp1>
|
| + struct rebind;
|
| +
|
| + allocator() throw();
|
| +
|
| + allocator(const allocator&) throw();
|
| + template<typename _Tp1>
|
| + allocator(const allocator<_Tp1>&) throw();
|
| + ~allocator() throw();
|
| +
|
| +
|
| + pointer
|
| + address(reference __x) const;
|
| +
|
| +
|
| + const_pointer
|
| + address(const_reference __x) const;
|
| +
|
| +
|
| + // NB: __n is permitted to be 0. The C++ standard says nothing
|
| + // about what the return value is when __n == 0.
|
| + _Tp*
|
| + allocate(size_type __n, const void* = 0);
|
| +
|
| + // __p is not permitted to be a null pointer.
|
| + void
|
| + deallocate(pointer __p, size_type __n);
|
| +
|
| + size_type
|
| + max_size() const throw();
|
| +
|
| + void construct(pointer __p, const _Tp& __val);
|
| + void destroy(pointer __p);
|
| + };
|
| +
|
| + template<>
|
| + class allocator<void>
|
| + {
|
| + public:
|
| + typedef size_t size_type;
|
| + typedef ptrdiff_t difference_type;
|
| + typedef void* pointer;
|
| + typedef const void* const_pointer;
|
| + typedef void value_type;
|
| +
|
| + template<typename _Tp1>
|
| + struct rebind;
|
| + };
|
| +} // namespace std
|
|
|