From 8ef7a10fcdcb14d487f3dd838d663a187af98e1b Mon Sep 17 00:00:00 2001 From: Alex Harker Date: Wed, 20 Mar 2019 10:59:54 +0000 Subject: [PATCH] Simplification --- include/FluidSCWrapper.hpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/include/FluidSCWrapper.hpp b/include/FluidSCWrapper.hpp index 1a2df3e..1f7f7f2 100644 --- a/include/FluidSCWrapper.hpp +++ b/include/FluidSCWrapper.hpp @@ -326,17 +326,14 @@ class FluidSCWrapper : public impl::FluidSCWrapperBase { static constexpr size_t argSize = C::getParameterDescriptors().template get().fixedSize; - auto fromArgs(World *w, FloatControlsIter& args, LongT::type) { return args.next(); } - auto fromArgs(World *w, FloatControlsIter& args, FloatT::type) { return args.next(); } - auto fromArgs(World *w, sc_msg_iter* args, LongT::type) { return args->geti(); } - auto fromArgs(World *w, sc_msg_iter* args, FloatT::type) { return args->getf(); } - - auto fromArgs(World *w, sc_msg_iter* args) { return args->geti(-1); } - auto fromArgs(World *w, FloatControlsIter& args) { return args.next(); } + auto fromArgs(World *w, FloatControlsIter& args, LongT::type, int) { return args.next(); } + auto fromArgs(World *w, FloatControlsIter& args, FloatT::type, int) { return args.next(); } + auto fromArgs(World *w, sc_msg_iter* args, LongT::type, int defVal) { return args->geti(defVal); } + auto fromArgs(World *w, sc_msg_iter* args, FloatT::type, int) { return args->getf(); } - auto fromArgs(World *w, ArgType args, BufferT::type) + auto fromArgs(World *w, ArgType args, BufferT::type, int) { - typename LongT::type bufnum = fromArgs(w, args); + typename LongT::type bufnum = fromArgs(w, args, LongT::type(), -1); return BufferT::type(bufnum >= 0 ? new SCBufferAdaptor(bufnum, w) : nullptr); } @@ -345,7 +342,7 @@ class FluidSCWrapper : public impl::FluidSCWrapperBase ParamLiteralConvertor a; for (auto i = 0; i < argSize; i++) - a[i] = fromArgs(w, args, a[0]); + a[i] = fromArgs(w, args, a[0], 0); return a.value(); }