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 110