54 const std::string& strInputPinName,
55 bool bForwardTriggerViaOutputPins =
true);
112 using tElementValue = std::variant<bool, int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float, double>;
131 const std::string& strElementName,
133 bool bNameHeuristic =
false);
149 template <
typename T>
151 const std::string& strElementName,
153 bool bNameHeuristic =
false)
157 std::visit([&](
auto&& xTypedValue)
159 fnCallback(tmSampleTime,
static_cast<T
>(xTypedValue));
175 class cImplementation;
176 std::unique_ptr<cImplementation> m_pImplementation;
189template <
typename FilterBase = adtf::filter::cFilter>
193 substream_filter(
const std::string& strInputPinName =
"input"):
Definition graph_object.h:1223
Definition substream_handling.h:36
void AddSubstreamHandler(const std::string &strName, tGeneratorCallback fnGeneratorCallback)
std::function< void(const adtf::ucom::iobject_ptr< const adtf::streaming::ISample > &)> tSampleCallback
a function that processes samples
Definition substream_handling.h:65
cSubstreamHandling(adtf::filter::hollow::cGraphObject *pFilter, const std::string &strInputPinName, bool bForwardTriggerViaOutputPins=true)
void AddSubstreamHandler(const std::string &strName, tSampleCallback fnCallback)
void AddElementHandler(const std::string &strSubstreamName, const std::string &strElementName, std::function< void(adtf::base::flash::tNanoSeconds, T)> fnCallback, bool bNameHeuristic=false)
Definition substream_handling.h:150
void AddSubstreamHandler(const std::regex &strNameExpression, tNamedGeneratorCallback fnGeneratorCallback)
std::function< tSampleCallback(const adtf::ucom::iobject_ptr< const adtf::streaming::IStreamType > &)> tGeneratorCallback
a function that generates a function that processes samples for a given stream type.
Definition substream_handling.h:68
std::function< tSampleCallback(const std::string &, const adtf::ucom::iobject_ptr< const adtf::streaming::IStreamType > &)> tNamedGeneratorCallback
a function that generates a function that processes samples for a given substream name and stream typ...
Definition substream_handling.h:71
void AddElementHandler(const std::string &strSubstreamName, const std::string &strElementName, std::function< void(adtf::base::flash::tNanoSeconds, tElementValue)> fnCallback, bool bNameHeuristic=false)
Definition substream_handling.h:191
Namespace for all functionality of the ADTF Filter SDK provided since v3.17.
Definition runner_fallback.h:17
substream_filter<> cSubstreamFilter
Definition substream_handling.h:205
Namespace for the ADTF Filter SDK.
Definition dynamic_filter.h:13
ant::iobject_ptr< T > iobject_ptr
Alias always bringing the latest version of ant::iobject_ptr into scope.
Definition object_ptr_intf.h:428
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14
A timestamp with nanosecond precision.
Definition chrono.h:23