Mercurial > octave-nkf
comparison src/ov-typeinfo.h @ 4901:35bfb4e0b96b
[project @ 2004-06-14 18:33:02 by jwe]
author | jwe |
---|---|
date | Mon, 14 Jun 2004 18:33:02 +0000 |
parents | bd2067547b40 |
children | c638c144d4da |
comparison
equal
deleted
inserted
replaced
4900:cf470c996819 | 4901:35bfb4e0b96b |
---|---|
61 static bool register_assignany_op (octave_value::assign_op, int, | 61 static bool register_assignany_op (octave_value::assign_op, int, |
62 assign_op_fcn); | 62 assign_op_fcn); |
63 | 63 |
64 static bool register_pref_assign_conv (int, int, int); | 64 static bool register_pref_assign_conv (int, int, int); |
65 | 65 |
66 static bool register_type_conv_op (int, int, type_conv_fcn); | |
67 | |
66 static bool register_widening_op (int, int, type_conv_fcn); | 68 static bool register_widening_op (int, int, type_conv_fcn); |
67 | 69 |
68 static octave_value | 70 static octave_value |
69 lookup_type (const std::string& nm) | 71 lookup_type (const std::string& nm) |
70 { | 72 { |
103 | 105 |
104 static int | 106 static int |
105 lookup_pref_assign_conv (int t_lhs, int t_rhs) | 107 lookup_pref_assign_conv (int t_lhs, int t_rhs) |
106 { | 108 { |
107 return instance->do_lookup_pref_assign_conv (t_lhs, t_rhs); | 109 return instance->do_lookup_pref_assign_conv (t_lhs, t_rhs); |
110 } | |
111 | |
112 static type_conv_fcn | |
113 lookup_type_conv_op (int t, int t_result) | |
114 { | |
115 return instance->do_lookup_type_conv_op (t, t_result); | |
108 } | 116 } |
109 | 117 |
110 static type_conv_fcn | 118 static type_conv_fcn |
111 lookup_widening_op (int t, int t_result) | 119 lookup_widening_op (int t, int t_result) |
112 { | 120 { |
132 assign_ops (octave_value::num_assign_ops, init_tab_sz, | 140 assign_ops (octave_value::num_assign_ops, init_tab_sz, |
133 init_tab_sz, (assign_op_fcn) 0), | 141 init_tab_sz, (assign_op_fcn) 0), |
134 assignany_ops (octave_value::num_assign_ops, init_tab_sz, | 142 assignany_ops (octave_value::num_assign_ops, init_tab_sz, |
135 (assign_op_fcn) 0), | 143 (assign_op_fcn) 0), |
136 pref_assign_conv (init_tab_sz, init_tab_sz, -1), | 144 pref_assign_conv (init_tab_sz, init_tab_sz, -1), |
145 type_conv_ops (init_tab_sz, init_tab_sz, (type_conv_fcn) 0), | |
137 widening_ops (init_tab_sz, init_tab_sz, (type_conv_fcn) 0) { } | 146 widening_ops (init_tab_sz, init_tab_sz, (type_conv_fcn) 0) { } |
138 | 147 |
139 private: | 148 private: |
140 | 149 |
141 static const int init_tab_sz; | 150 static const int init_tab_sz; |
157 Array3<assign_op_fcn> assign_ops; | 166 Array3<assign_op_fcn> assign_ops; |
158 | 167 |
159 Array2<assign_op_fcn> assignany_ops; | 168 Array2<assign_op_fcn> assignany_ops; |
160 | 169 |
161 Array2<int> pref_assign_conv; | 170 Array2<int> pref_assign_conv; |
171 | |
172 Array2<type_conv_fcn> type_conv_ops; | |
162 | 173 |
163 Array2<type_conv_fcn> widening_ops; | 174 Array2<type_conv_fcn> widening_ops; |
164 | 175 |
165 int do_register_type (const std::string&, const std::string&, | 176 int do_register_type (const std::string&, const std::string&, |
166 const octave_value&); | 177 const octave_value&); |
179 bool do_register_assignany_op (octave_value::assign_op, int, | 190 bool do_register_assignany_op (octave_value::assign_op, int, |
180 assign_op_fcn); | 191 assign_op_fcn); |
181 | 192 |
182 bool do_register_pref_assign_conv (int, int, int); | 193 bool do_register_pref_assign_conv (int, int, int); |
183 | 194 |
195 bool do_register_type_conv_op (int, int, type_conv_fcn); | |
196 | |
184 bool do_register_widening_op (int, int, type_conv_fcn); | 197 bool do_register_widening_op (int, int, type_conv_fcn); |
185 | 198 |
186 octave_value do_lookup_type (const std::string& nm); | 199 octave_value do_lookup_type (const std::string& nm); |
187 | 200 |
188 unary_op_fcn do_lookup_unary_op (octave_value::unary_op, int); | 201 unary_op_fcn do_lookup_unary_op (octave_value::unary_op, int); |
195 assign_op_fcn do_lookup_assign_op (octave_value::assign_op, int, int); | 208 assign_op_fcn do_lookup_assign_op (octave_value::assign_op, int, int); |
196 | 209 |
197 assign_op_fcn do_lookup_assignany_op (octave_value::assign_op, int); | 210 assign_op_fcn do_lookup_assignany_op (octave_value::assign_op, int); |
198 | 211 |
199 int do_lookup_pref_assign_conv (int, int); | 212 int do_lookup_pref_assign_conv (int, int); |
213 | |
214 type_conv_fcn do_lookup_type_conv_op (int, int); | |
200 | 215 |
201 type_conv_fcn do_lookup_widening_op (int, int); | 216 type_conv_fcn do_lookup_widening_op (int, int); |
202 | 217 |
203 string_vector do_installed_type_names (void); | 218 string_vector do_installed_type_names (void); |
204 | 219 |