| 39 | // Type 1 |
| 40 | template <typename Type, OPS_Routine fn> |
| 41 | static int |
| 42 | dispatch(ClientData clientData, Tcl_Interp* interp, int argc, G3_Char** const argv) |
| 43 | { |
| 44 | BasicAnalysisBuilder *builder = static_cast<BasicAnalysisBuilder*>(clientData); |
| 45 | Type* theIntegrator = (Type*)fn( G3_getRuntime(interp), argc, argv ); |
| 46 | |
| 47 | if (theIntegrator == nullptr) |
| 48 | return TCL_ERROR; |
| 49 | |
| 50 | |
| 51 | opsdbg << G3_DEBUG_PROMPT << "Set integrator to \n"; |
| 52 | theIntegrator->Print(opsdbg); |
| 53 | builder->set(*theIntegrator); |
| 54 | return TCL_OK; |
| 55 | } |
| 56 | |
| 57 | // Type 2 |
| 58 | template <typename Type, Type*(*fn)(ClientData, Tcl_Interp*, int, TCL_Char** const)> |
nothing calls this directly
no test coverage detected