diff options
| author | a1xd <[email protected]> | 2021-09-08 03:01:43 -0400 |
|---|---|---|
| committer | a1xd <[email protected]> | 2021-09-23 22:34:51 -0400 |
| commit | 864ef4d74b4f2709c8df216c5197b299389a8926 (patch) | |
| tree | 6963312fe184c2a8d6cb9e3190c966f72bb494ef /common | |
| parent | Cap type options now fully working (diff) | |
| download | rawaccel-864ef4d74b4f2709c8df216c5197b299389a8926.tar.xz rawaccel-864ef4d74b4f2709c8df216c5197b299389a8926.zip | |
fix clang build errors
Diffstat (limited to 'common')
| -rw-r--r-- | common/accel-natural.hpp | 1 | ||||
| -rw-r--r-- | common/accel-union.hpp | 20 |
2 files changed, 10 insertions, 11 deletions
diff --git a/common/accel-natural.hpp b/common/accel-natural.hpp index 521a1ae..6f30a38 100644 --- a/common/accel-natural.hpp +++ b/common/accel-natural.hpp @@ -54,6 +54,5 @@ namespace rawaccel { natural_base(args), constant(-limit / accel) {} - natural() = default; }; } diff --git a/common/accel-union.hpp b/common/accel-union.hpp index 19fd9fe..136db44 100644 --- a/common/accel-union.hpp +++ b/common/accel-union.hpp @@ -24,11 +24,11 @@ namespace rawaccel { loglog_sigmoid<GAIN> loglog_sigmoid_g; loglog_sigmoid<LEGACY> loglog_sigmoid_l; - void init(const accel_args& args) + template <template <bool> class AccelTemplate, typename Visitor> + auto visit_helper(Visitor vis, bool gain) { - visit([&](auto& impl) { - impl = { args }; - }, args); + if (gain) return vis(reinterpret_cast<AccelTemplate<GAIN>&>(*this)); + else return vis(reinterpret_cast<AccelTemplate<LEGACY>&>(*this)); } template <typename Visitor> @@ -41,17 +41,17 @@ namespace rawaccel { case accel_mode::motivity: return visit_helper<loglog_sigmoid>(vis, args.gain); case accel_mode::power: return visit_helper<power>(vis, args.gain); case accel_mode::lookup: return vis(lut); - default: return vis(noaccel); + default: return vis(noaccel); } } - private: - template <template <bool> class AccelTemplate, typename Visitor> - auto visit_helper(Visitor vis, bool gain) + void init(const accel_args& args) { - if (gain) return vis(reinterpret_cast<AccelTemplate<GAIN>&>(*this)); - else return vis(reinterpret_cast<AccelTemplate<LEGACY>&>(*this)); + visit([&](auto& impl) { + impl = { args }; + }, args); } + }; } |