@@ -6,21 +6,30 @@ using namespace sdk;
66
77class SinkReactor : public Reactor {
88public:
9- struct Parameters : public SystemParameter <string> {
10- REACTOR_PARAMETER (string, name, " Alternate name" , " Sink" , " Sink" , " Sink" );
119
12- Parameters (Reactor *container)
13- : SystemParameter<string>(container) {
10+ struct DefaultParameters {
11+ string name = " Sink" ;
12+ };
13+ struct Parameters : public SystemParameterWithDefault <DefaultParameters, string> {
14+ REACTOR_PARAMETER (string, name, " Alternate name" , " Sink" , " Sink" , defaults.name);
15+
16+ Parameters (Reactor *container, DefaultParameters &¶m)
17+ : SystemParameterWithDefault<DefaultParameters, string>(container, std::forward<DefaultParameters>(param)) {
1418 register_parameters (name);
1519 }
1620 };
1721
1822 SinkReactor (const std::string &name, Environment *env)
19- : Reactor(name, env) {}
23+ : Reactor(name, env), parameters{ this , DefaultParameters{}} {}
2024 SinkReactor (const std::string &name, Reactor *container)
21- : Reactor(name, container) {}
25+ : Reactor(name, container), parameters{this , DefaultParameters{}} {}
26+
27+ SinkReactor (const std::string &name, Environment *env, DefaultParameters && param)
28+ : Reactor(name, env), parameters{this , std::forward<DefaultParameters>(param)} {}
29+ SinkReactor (const std::string &name, Reactor *container, DefaultParameters && param)
30+ : Reactor(name, container), parameters{this , std::forward<DefaultParameters>(param)} {}
2231
23- Parameters parameters{ this } ;
32+ Parameters parameters;
2433
2534 Input<int > req{" req" , this };
2635 Output<int > rsp{" rsp" , this };
0 commit comments