~ubuntu-branches/ubuntu/edgy/swig1.3/edgy

« back to all changes in this revision

Viewing changes to Lib/ocaml/std_map.i

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-12-05 01:16:04 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051205011604-ygx904it6413k3go
Tags: 1.3.27-1ubuntu1
Resynchronise with Debian again, for the new subversion packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
//
6
6
// Common implementation
7
7
 
8
 
%include std_common.i
9
 
%include exception.i
10
 
 
11
 
%exception std::map::get {
12
 
    try {
13
 
        $action
14
 
    } catch (std::out_of_range& e) {
15
 
        SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
16
 
    }
17
 
}
18
 
 
19
 
%exception std::map::del  {
20
 
    try {
21
 
        $action
22
 
    } catch (std::out_of_range& e) {
23
 
        SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
24
 
    }
25
 
}
 
8
%include <std_common.i>
26
9
 
27
10
// ------------------------------------------------------------------------
28
11
// std::map
47
30
        bool empty() const;
48
31
        void clear();
49
32
        %extend {
50
 
            T& get(const K& key) {
 
33
            T& get(const K& key) throw (std::out_of_range) {
51
34
                std::map<K,T >::iterator i = self->find(key);
52
35
                if (i != self->end())
53
36
                    return i->second;
57
40
            void set(const K& key, const T& x) {
58
41
                (*self)[key] = x;
59
42
            }
60
 
            void del(const K& key) {
 
43
            void del(const K& key) throw (std::out_of_range) {
61
44
                std::map<K,T >::iterator i = self->find(key);
62
45
                if (i != self->end())
63
46
                    self->erase(i);
86
69
        bool empty() const;
87
70
        void clear();
88
71
        %extend {
89
 
            T& get(K key) {
 
72
            T& get(K key) throw (std::out_of_range) {
90
73
                std::map<K,T >::iterator i = self->find(key);
91
74
                if (i != self->end())
92
75
                    return i->second;
96
79
            void set(K key, const T& x) {
97
80
                (*self)[key] = x;
98
81
            }
99
 
            void del(K key) {
 
82
            void del(K key) throw (std::out_of_range) {
100
83
                std::map<K,T >::iterator i = self->find(key);
101
84
                if (i != self->end())
102
85
                    self->erase(i);
122
105
        bool empty() const;
123
106
        void clear();
124
107
        %extend {
125
 
            T get(const K& key) {
 
108
            T get(const K& key) throw (std::out_of_range) {
126
109
                std::map<K,T >::iterator i = self->find(key);
127
110
                if (i != self->end())
128
111
                    return i->second;
132
115
            void set(const K& key, T x) {
133
116
                (*self)[key] = x;
134
117
            }
135
 
            void del(const K& key) {
 
118
            void del(const K& key) throw (std::out_of_range) {
136
119
                std::map<K,T >::iterator i = self->find(key);
137
120
                if (i != self->end())
138
121
                    self->erase(i);
159
142
        bool empty() const;
160
143
        void clear();
161
144
        %extend {
162
 
            T get(K key) {
 
145
            T get(K key) throw (std::out_of_range) {
163
146
                std::map<K,T >::iterator i = self->find(key);
164
147
                if (i != self->end())
165
148
                    return i->second;
169
152
            void set(K key, T x) {
170
153
                (*self)[key] = x;
171
154
            }
172
 
            void del(K key) {
 
155
            void del(K key) throw (std::out_of_range) {
173
156
                std::map<K,T >::iterator i = self->find(key);
174
157
                if (i != self->end())
175
158
                    self->erase(i);