Mercurial > mm7
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 |