@@ -24,7 +24,7 @@ namespace reactor {
2424
2525enum class PortType { Input, Output, Delay };
2626
27- class BasePort : public ReactorElement , public GraphElement { // NOLINT
27+ class BasePort : public GraphElement , public ReactorElement { // NOLINT
2828private:
2929 BasePort* inward_binding_{nullptr };
3030 std::set<BasePort*> outward_bindings_{};
@@ -40,6 +40,10 @@ private:
4040protected:
4141 bool present_{false }; // NOLINT cppcoreguidelines-non-private-member-variables-in-classes
4242
43+ BasePort (const std::string& name, PortType type, Reactor* container)
44+ : ReactorElement(name, match_port_enum(type), container)
45+ , type_(type) {}
46+
4347 void register_dependency (Reaction* reaction, bool is_trigger) noexcept ;
4448 void register_antidependency (Reaction* reaction) noexcept ;
4549 virtual void cleanup () = 0;
@@ -68,9 +72,6 @@ protected:
6872 }
6973
7074public:
71- BasePort (const std::string& name, PortType type, Reactor* container)
72- : ReactorElement(name, match_port_enum(type), container)
73- , type_(type) {}
7475 ~BasePort () noexcept override = default ;
7576
7677 void set_inward_binding (BasePort* port) noexcept { inward_binding_ = port; }
@@ -181,15 +182,15 @@ public:
181182 Input (const std::string& name, Reactor* container)
182183 : Port<T>(name, PortType::Input, container) {}
183184
184- Input (Input&&) = default ; // NOLINT(performance-noexcept-move-constructor)
185+ Input (Input&&) noexcept = default ; // NOLINT(performance-noexcept-move-constructor)
185186};
186187
187188template <class T > class Output : public Port <T> { // NOLINT
188189public:
189190 Output (const std::string& name, Reactor* container)
190191 : Port<T>(name, PortType::Output, container) {}
191192
192- Output (Output&&) = default ; // NOLINT(performance-noexcept-move-constructor)
193+ Output (Output&&) noexcept = default ; // NOLINT(performance-noexcept-move-constructor)
193194};
194195
195196} // namespace reactor
0 commit comments