libtcspc C++ API
Streaming TCSPC and time tag data processing
Loading...
Searching...
No Matches
tcspc::processor Concept Reference

Description

Concept that is satisfied when a processor handles the given event types and flush.

Determines whether Proc is move-constructible and handles all of the event types Events as well as flush().

This is equivalent to the logical AND of std::move_constructible<Proc>, tcspc::handler_for<Proc, Events...>, and tcspc::flushable<Proc>.

Note
Move-constructibility is required to support construction of processor graphs, during which each upstream factory consumes its downstream by value. It is not valid to move a processor on which handle() or flush() has been called; see Processors.

If the event handler(s) and/or flush() exist but any of them has a return type other than void, the concept is not satisfied.

Concept definition

template<typename Proc, typename... Events>
concept processor = std::move_constructible<Proc> && flushable<Proc> &&
handler_for<Proc, Events...>
Concept that is satisfied when a processor handles flushing.
Definition processor.hpp:29
Concept that is satisfied when a processor handles the given event types.
Definition processor.hpp:95
Concept that is satisfied when a processor handles the given event types and flush.
Definition processor.hpp:119