comparison lib/swig/swigwin-2.0.11/Lib/std/std_alloc.i @ 1899:b3009adc0e2f

Adding swig, gitignore, hgignore
author Nomad
date Mon, 21 Oct 2013 10:42:27 +0200
parents
children
comparison
equal deleted inserted replaced
1867:eb580660bbbb 1899:b3009adc0e2f
1 namespace std
2 {
3 /**
4 * @brief The "standard" allocator, as per [20.4].
5 *
6 * The private _Alloc is "SGI" style. (See comments at the top
7 * of stl_alloc.h.)
8 *
9 * The underlying allocator behaves as follows.
10 * - __default_alloc_template is used via two typedefs
11 * - "__single_client_alloc" typedef does no locking for threads
12 * - "__alloc" typedef is threadsafe via the locks
13 * - __new_alloc is used for memory requests
14 *
15 * (See @link Allocators allocators info @endlink for more.)
16 */
17 template<typename _Tp>
18 class allocator
19 {
20 public:
21 typedef size_t size_type;
22 typedef ptrdiff_t difference_type;
23 typedef _Tp* pointer;
24 typedef const _Tp* const_pointer;
25 typedef _Tp& reference;
26 typedef const _Tp& const_reference;
27 typedef _Tp value_type;
28
29 template<typename _Tp1>
30 struct rebind;
31
32 allocator() throw();
33
34 allocator(const allocator&) throw();
35 template<typename _Tp1>
36 allocator(const allocator<_Tp1>&) throw();
37 ~allocator() throw();
38
39
40 pointer
41 address(reference __x) const;
42
43
44 const_pointer
45 address(const_reference __x) const;
46
47
48 // NB: __n is permitted to be 0. The C++ standard says nothing
49 // about what the return value is when __n == 0.
50 _Tp*
51 allocate(size_type __n, const void* = 0);
52
53 // __p is not permitted to be a null pointer.
54 void
55 deallocate(pointer __p, size_type __n);
56
57 size_type
58 max_size() const throw();
59
60 void construct(pointer __p, const _Tp& __val);
61 void destroy(pointer __p);
62 };
63
64 template<>
65 class allocator<void>
66 {
67 public:
68 typedef size_t size_type;
69 typedef ptrdiff_t difference_type;
70 typedef void* pointer;
71 typedef const void* const_pointer;
72 typedef void value_type;
73
74 template<typename _Tp1>
75 struct rebind;
76 };
77 } // namespace std