aboutsummaryrefslogtreecommitdiff
path: root/Lib/go/std_list.i
blob: ff6f700130f1273f25e2a06073b15e9e55d4984e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* -----------------------------------------------------------------------------
 * std_list.i
 * ----------------------------------------------------------------------------- */

%{
#include <list>
#include <stdexcept>
%}

namespace std {

  template<class T>
  class list {
  public:
    typedef size_t size_type;
    typedef ptrdiff_t difference_type;
    typedef T value_type;
    typedef value_type* pointer;
    typedef const value_type* const_pointer;
    typedef value_type& reference;
    typedef const value_type& const_reference;

    list();
    list(const list& other);

    size_type size() const;
    bool empty() const;
    %rename(isEmpty) empty;
    void clear();
    void push_front(const value_type& x);
    void pop_front();
    void push_back(const value_type& x);
    void pop_back();
    void remove(value_type x);
    void reverse();
    void unique();
    void sort();
    void merge(list& x);
  };

}