MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ tap()

template<typename Executor , ComputeData DataType>
template<typename Func >
requires std::invocable<Func, DataType&>
FluentExecutor & MayaFlux::Yantra::FluentExecutor< Executor, DataType >::tap ( Func &&  func)
inline

Apply function with side effects (doesn't change data type)

Parameters
funcFunction to apply for side effects
Returns
Reference to this executor for chaining

Definition at line 176 of file OperationChain.hpp.

177 {
178 if (!m_successful) {
179 throw std::runtime_error("Cannot continue chain after failed operation");
180 }
181
182 try {
183 std::forward<Func>(func)(m_data);
184 m_operation_history.emplace_back("tap");
185 return *this;
186 } catch (const std::exception& e) {
187 m_successful = false;
188 record_error(std::string("Tap function failed: ") + e.what());
189 throw;
190 }
191 }
std::vector< std::string > m_operation_history
void record_error(const std::string &error)