3 #ifndef VISR_PARAMETER_OUTPUT_HPP_INCLUDED 4 #define VISR_PARAMETER_OUTPUT_HPP_INCLUDED 44 template<
class ProtocolT,
class ParameterT >
46 public ProtocolT::template Output<ParameterT>
51 template<
typename ... ProtocolArgs>
55 ProtocolArgs ... protoArgs );
57 template<
typename ... ProtocolArgs>
60 ProtocolArgs ... protoArgs );
101 ProtocolT * typedProtocol
102 =
dynamic_cast< ProtocolT *
>(protocol);
103 if( not typedProtocol )
105 throw std::invalid_argument(
"ParameterOutput::setProtocol(): Protocol class type does not match the protocol type for this port." );
107 this->setProtocolInstance( typedProtocol );
112 template<
class ProtocolT,
class ParameterT >
113 template<
typename ... ProtocolArgs>
118 ProtocolArgs ... protoArgs )
123 , ProtocolT::template Output<ParameterT>(protoArgs...)
127 template<
class ProtocolT,
class ParameterT >
128 template<
typename ... ProtocolArgs>
132 ProtocolArgs ... protoArgs )
136 , ProtocolT::template Output<ParameterT>( protoArgs... )
140 template<
class ProtocolT,
class ParameterT >
147 #endif // #ifndef VISR_PARAMETER_OUTPUT_HPP_INCLUDED Definition: communication_protocol_type.hpp:29
Definition: parameter_output.hpp:45
CommunicationProtocolType protocolType() const
Definition: parameter_output.hpp:78
ParameterOutput(char const *name, Component &parent, ParameterConfigType const ¶mConfig, ProtocolArgs...protoArgs)
Definition: parameter_output.hpp:115
uint64_t ParameterType
Definition: parameter_type.hpp:13
Definition: parameter_type.hpp:43
Definition: parameter_output.hpp:19
ParameterConfigBase const & parameterConfig() const
Definition: parameter_output.hpp:83
~ParameterOutput()
Definition: parameter_output.hpp:141
std::uint64_t CommunicationProtocolType
Definition: communication_protocol_type.hpp:14
CommunicationProtocolBase::Output & protocolOutput() override
Definition: parameter_output.hpp:68
Definition: component.hpp:38
Definition: options.cpp:10
Definition: parameter_config_base.hpp:22
typename ParameterToConfigType< visr::reverbobject::LateReverbParameter >::ConfigType ParameterConfigType
Definition: parameter_output.hpp:49
Definition: communication_protocol_base.hpp:21
ParameterType parameterType() const
Definition: parameter_output.hpp:73
void setParameterConfig(ParameterConfigType const ¶meterConfig)
Definition: parameter_output.hpp:93
Definition: parameter_port_base.hpp:29
void setProtocol(CommunicationProtocolBase *protocol) override
Definition: parameter_output.hpp:99
void setParameterConfig(ParameterConfigBase const ¶meterConfig)
Definition: parameter_port_base.cpp:32
Definition: parameter_type.hpp:27
ParameterConfigBase const & parameterConfig() const
Definition: parameter_port_base.cpp:57
Definition: communication_protocol_base.hpp:131