summaryrefslogtreecommitdiff
path: root/share/swig/2.0.11/std/std_container.i
diff options
context:
space:
mode:
Diffstat (limited to 'share/swig/2.0.11/std/std_container.i')
-rw-r--r--share/swig/2.0.11/std/std_container.i109
1 files changed, 109 insertions, 0 deletions
diff --git a/share/swig/2.0.11/std/std_container.i b/share/swig/2.0.11/std/std_container.i
new file mode 100644
index 0000000..73d0c6a
--- /dev/null
+++ b/share/swig/2.0.11/std/std_container.i
@@ -0,0 +1,109 @@
+%include <std_common.i>
+%include <exception.i>
+%include <std_alloc.i>
+
+%{
+#include <algorithm>
+%}
+
+// Common container methods
+
+%define %std_container_methods(container...)
+ container();
+ container(const container&);
+
+ bool empty() const;
+ size_type size() const;
+ void clear();
+
+ void swap(container& v);
+
+ allocator_type get_allocator() const;
+
+ #ifdef SWIG_EXPORT_ITERATOR_METHODS
+ class iterator;
+ class reverse_iterator;
+ class const_iterator;
+ class const_reverse_iterator;
+
+ iterator begin();
+ iterator end();
+ reverse_iterator rbegin();
+ reverse_iterator rend();
+ #endif
+
+%enddef
+
+// Common sequence
+
+%define %std_sequence_methods_common(sequence)
+
+ %std_container_methods(%arg(sequence));
+
+ sequence(size_type size);
+ void pop_back();
+
+ void resize(size_type new_size);
+
+ #ifdef SWIG_EXPORT_ITERATOR_METHODS
+ iterator erase(iterator pos);
+ iterator erase(iterator first, iterator last);
+ #endif
+
+%enddef
+
+
+%define %std_sequence_methods(sequence)
+
+ %std_sequence_methods_common(%arg(sequence));
+
+ sequence(size_type size, const value_type& value);
+ void push_back(const value_type& x);
+
+ const value_type& front() const;
+ const value_type& back() const;
+
+ void assign(size_type n, const value_type& x);
+
+ void resize(size_type new_size, const value_type& x);
+
+ #ifdef SWIG_EXPORT_ITERATOR_METHODS
+ iterator insert(iterator pos, const value_type& x);
+ void insert(iterator pos, size_type n, const value_type& x);
+ #endif
+
+%enddef
+
+%define %std_sequence_methods_val(sequence...)
+
+ %std_sequence_methods_common(%arg(sequence));
+
+ sequence(size_type size, value_type value);
+ void push_back(value_type x);
+
+ value_type front() const;
+ value_type back() const;
+
+ void assign(size_type n, value_type x);
+
+ void resize(size_type new_size, value_type x);
+
+ #ifdef SWIG_EXPORT_ITERATOR_METHODS
+ iterator insert(iterator pos, value_type x);
+ void insert(iterator pos, size_type n, value_type x);
+ #endif
+
+%enddef
+
+
+//
+// Ignore member methods for Type with no default constructor
+//
+%define %std_nodefconst_type(Type...)
+%feature("ignore") std::vector<Type >::vector(size_type size);
+%feature("ignore") std::vector<Type >::resize(size_type size);
+%feature("ignore") std::deque<Type >::deque(size_type size);
+%feature("ignore") std::deque<Type >::resize(size_type size);
+%feature("ignore") std::list<Type >::list(size_type size);
+%feature("ignore") std::list<Type >::resize(size_type size);
+%enddef