diff options
| author | a1xd <[email protected]> | 2021-04-08 02:30:01 -0400 |
|---|---|---|
| committer | a1xd <[email protected]> | 2021-04-08 02:30:01 -0400 |
| commit | c55d1bfd01147fa014ac07d4b03ef3cad8427ae6 (patch) | |
| tree | 39ffa4a79bc6b019443521f10203f787c4b98698 /common/accel-invoke.hpp | |
| parent | unmark fill as const (diff) | |
| download | rawaccel-c55d1bfd01147fa014ac07d4b03ef3cad8427ae6.tar.xz rawaccel-c55d1bfd01147fa014ac07d4b03ef3cad8427ae6.zip | |
optimize a bit/refactor modify
Diffstat (limited to 'common/accel-invoke.hpp')
| -rw-r--r-- | common/accel-invoke.hpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/common/accel-invoke.hpp b/common/accel-invoke.hpp index 0e264c1..f2a95dc 100644 --- a/common/accel-invoke.hpp +++ b/common/accel-invoke.hpp @@ -20,7 +20,16 @@ namespace rawaccel { accel_invoker(const accel_args& args) { cb = visit_accel([](auto&& arg) { - return &invoke_impl<remove_ref_t<decltype(arg)>>; + using T = remove_ref_t<decltype(arg)>; + + if constexpr (is_same_v<T, motivity>) { + static_assert(sizeof motivity == sizeof binlog_lut); + return &invoke_impl<binlog_lut>; + } + else { + return &invoke_impl<T>; + } + }, make_mode(args), accel_union{}); } |