promoted-counter refcount: start counts, started derives (start!= 0); run_hook fires on the 0->nonzero edge, halt_hook on the nonzero->0 edge, flush_hook before every effective decrement (including one that doesn't reach zero). One central mechanism, reused by inheritance wherever a level still needs its own share-count (pin's per-client attribution; stream, which also owns the ring reset in its own run_hook; group, whose hooks are its own dx::clock run()/halt()) - hooks are set by the derived class's own constructor body, exactly how dx::stream::group already wired its hand-rolled start/streaming pair.
More...
#include <dx_stream_control.h>
|
| class | pause |
| | a session held open across a change that needs it stopped: the counted shares are taken out for the scope and handed back at its end, so clients starting or stopping meanwhile keep their own More...
|
template<typename object_t>
class dx::stream::control< object_t >
promoted-counter refcount: start counts, started derives (start!= 0); run_hook fires on the 0->nonzero edge, halt_hook on the nonzero->0 edge, flush_hook before every effective decrement (including one that doesn't reach zero). One central mechanism, reused by inheritance wherever a level still needs its own share-count (pin's per-client attribution; stream, which also owns the ring reset in its own run_hook; group, whose hooks are its own dx::clock run()/halt()) - hooks are set by the derived class's own constructor body, exactly how dx::stream::group already wired its hand-rolled start/streaming pair.
◆ control()
template<typename object_t>
template<typename... args_t>
◆ ~control()
template<typename object_t>
◆ conclude()
template<typename object_t>
Reimplemented in dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream > > >, dx::stream::device< dx::stream::control< dx::device< std::string, preference > >, desc, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::usb::pipe< device_t >, and dx::usb::pipe< device_t >.
◆ pause
template<typename object_t>
◆ flush_hook
template<typename object_t>
◆ halt_hook
template<typename object_t>
◆ run_hook
template<typename object_t>
◆ start
template<typename object_t>
◆ started
template<typename object_t>
The documentation for this class was generated from the following file: