![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Wrap an Op whose registry entry lists Double and Real but NOT Exact. More...
#include </data/gcasale/line-dev.git/cpp/src/reg/api_dispatch_detail.h>
Static Public Member Functions | |
| template<class T> | |
| static Json | run (Args &a) |
Wrap an Op whose registry entry lists Double and Real but NOT Exact.
run_at instantiates all three backends because the mode is a runtime value, so an Op that calls exp, log or sqrt would not COMPILE at Rational even though it can never be REACHED there – api_invoke refuses the mode against the registry before dispatching. The if-constexpr makes that same fact known to the compiler. The throw is the arm the gate has already excluded, kept as a real refusal rather than a placeholder so that a registry entry mistakenly widened to Exact reports the reason instead of returning a wrong number.
Definition at line 79 of file api_dispatch_detail.h.
|
inlinestatic |
Definition at line 81 of file api_dispatch_detail.h.
References run(), and line::UnsupportedError::UnsupportedError().
Referenced by run().