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