1899
|
1 %include <std_common.i>
|
|
2 %include <exception.i>
|
|
3 %include <std_alloc.i>
|
|
4
|
|
5 %{
|
|
6 #include <algorithm>
|
|
7 %}
|
|
8
|
|
9 // Common container methods
|
|
10
|
|
11 %define %std_container_methods(container...)
|
|
12 container();
|
|
13 container(const container&);
|
|
14
|
|
15 bool empty() const;
|
|
16 size_type size() const;
|
|
17 void clear();
|
|
18
|
|
19 void swap(container& v);
|
|
20
|
|
21 allocator_type get_allocator() const;
|
|
22
|
|
23 #ifdef SWIG_EXPORT_ITERATOR_METHODS
|
|
24 class iterator;
|
|
25 class reverse_iterator;
|
|
26 class const_iterator;
|
|
27 class const_reverse_iterator;
|
|
28
|
|
29 iterator begin();
|
|
30 iterator end();
|
|
31 reverse_iterator rbegin();
|
|
32 reverse_iterator rend();
|
|
33 #endif
|
|
34
|
|
35 %enddef
|
|
36
|
|
37 // Common sequence
|
|
38
|
|
39 %define %std_sequence_methods_common(sequence)
|
|
40
|
|
41 %std_container_methods(%arg(sequence));
|
|
42
|
|
43 sequence(size_type size);
|
|
44 void pop_back();
|
|
45
|
|
46 void resize(size_type new_size);
|
|
47
|
|
48 #ifdef SWIG_EXPORT_ITERATOR_METHODS
|
|
49 iterator erase(iterator pos);
|
|
50 iterator erase(iterator first, iterator last);
|
|
51 #endif
|
|
52
|
|
53 %enddef
|
|
54
|
|
55
|
|
56 %define %std_sequence_methods(sequence)
|
|
57
|
|
58 %std_sequence_methods_common(%arg(sequence));
|
|
59
|
|
60 sequence(size_type size, const value_type& value);
|
|
61 void push_back(const value_type& x);
|
|
62
|
|
63 const value_type& front() const;
|
|
64 const value_type& back() const;
|
|
65
|
|
66 void assign(size_type n, const value_type& x);
|
|
67
|
|
68 void resize(size_type new_size, const value_type& x);
|
|
69
|
|
70 #ifdef SWIG_EXPORT_ITERATOR_METHODS
|
|
71 iterator insert(iterator pos, const value_type& x);
|
|
72 void insert(iterator pos, size_type n, const value_type& x);
|
|
73 #endif
|
|
74
|
|
75 %enddef
|
|
76
|
|
77 %define %std_sequence_methods_val(sequence...)
|
|
78
|
|
79 %std_sequence_methods_common(%arg(sequence));
|
|
80
|
|
81 sequence(size_type size, value_type value);
|
|
82 void push_back(value_type x);
|
|
83
|
|
84 value_type front() const;
|
|
85 value_type back() const;
|
|
86
|
|
87 void assign(size_type n, value_type x);
|
|
88
|
|
89 void resize(size_type new_size, value_type x);
|
|
90
|
|
91 #ifdef SWIG_EXPORT_ITERATOR_METHODS
|
|
92 iterator insert(iterator pos, value_type x);
|
|
93 void insert(iterator pos, size_type n, value_type x);
|
|
94 #endif
|
|
95
|
|
96 %enddef
|
|
97
|
|
98
|
|
99 //
|
|
100 // Ignore member methods for Type with no default constructor
|
|
101 //
|
|
102 %define %std_nodefconst_type(Type...)
|
|
103 %feature("ignore") std::vector<Type >::vector(size_type size);
|
|
104 %feature("ignore") std::vector<Type >::resize(size_type size);
|
|
105 %feature("ignore") std::deque<Type >::deque(size_type size);
|
|
106 %feature("ignore") std::deque<Type >::resize(size_type size);
|
|
107 %feature("ignore") std::list<Type >::list(size_type size);
|
|
108 %feature("ignore") std::list<Type >::resize(size_type size);
|
|
109 %enddef
|