Definition at line 123 of file routine.cpp.
composed_routine_rep | ( | const routine & | fun2, | |
const vector< routine > & | args2 | |||
) | [inline] |
Definition at line 128 of file routine.cpp.
References ASSERT, mmx::copy(), mmx::N(), and mmx::read().
00128 : 00129 routine_rep (gen (GEN_COMPOSE, fun2->name, as_generic (flatten (args2)))), 00130 fun (fun2), args (args2) 00131 { 00132 sig= copy (fun->signature ()); 00133 if (N(sig) != 0) { 00134 ASSERT (N(sig) == N(args)+1, 00135 "numbers of arguments don't match (composed_routine_rep)"); 00136 for (nat i=0; i<N(args); i++) { 00137 const vector<nat> sub_sig= args[i]->signature (); 00138 ASSERT (N(sub_sig) == 2, 00139 "routine with one argument expected (composed_routine_rep)"); 00140 ASSERT (read (sig, i+1) == sub_sig[0] || read (sig, i+1) == 0, 00141 "type mismatch (composed_routine_rep)"); 00142 sig[i+1]= sub_sig[1]; 00143 } 00144 } 00145 } generic apply (const generic& x) const {
generic apply | ( | ) | const [virtual, inherited] |
Reimplemented in nullary_routine_rep< void >, change_signature_routine_rep, and integrate_routine_rep.
Definition at line 37 of file routine.cpp.
Referenced by routine_rep::apply().
00037 { 00038 return apply (vec<generic> ()); 00039 }
Reimplemented from routine_rep.
Definition at line 154 of file routine.cpp.
References mmx::apply(), mmx::as_string(), ASSERT, mmx::N(), and n.
Reimplemented from routine_rep.
Definition at line 150 of file routine.cpp.
References mmx::apply(), ASSERT, and mmx::N().
Reimplemented from routine_rep.
Definition at line 146 of file routine.cpp.
References mmx::apply(), ASSERT, and mmx::N().
routine clone | ( | ) | const [virtual, inherited] |
Definition at line 91 of file routine.cpp.
References ERROR.
generic function_body | ( | ) | const [virtual, inherited] |
Definition at line 81 of file routine.cpp.
generic function_type | ( | ) | const [virtual, inherited] |
Definition at line 86 of file routine.cpp.
References mmx::gen(), mmx::GEN_FUNCTION_TYPE, routine_rep::signature(), and mmx::type_name().
00086 { 00087 return gen (GEN_FUNCTION_TYPE, type_name (signature ())); 00088 }
bool is_overloaded | ( | ) | const [virtual, inherited] |
Definition at line 71 of file routine.cpp.
Definition at line 76 of file routine.cpp.
References ERROR.
00076 { 00077 ERROR ("not implemented (meanings)"); 00078 }
void overload | ( | const routine & | fun | ) | const [virtual, inherited] |
Definition at line 66 of file routine.cpp.
References ERROR.
00066 { 00067 ERROR ("not implemented (overload)"); 00068 }
Definition at line 64 of file routine.hpp.
Referenced by routine_rep::apply().