CVB++ 15.0
decl_multi_stream_handler.hpp
1#pragma once
2
3#include "../../async/_decl/decl_stream_handler_base.hpp"
4
5namespace Cvb
6{
7
8 CVB_BEGIN_INLINE_NS
9
10 namespace Async
11 {
13
57 class MultiStreamHandler : public StreamHandlerBase<Stream>
58 {
59 struct PrivateTag
60 {
61 };
62
63 public:
65
74 {
75 return std::make_unique<MultiStreamHandler>(streamVector, PrivateTag{});
76 }
77
78 explicit MultiStreamHandler(const std::vector<Driver::StreamPtr> &streamVector, PrivateTag)
79 : StreamHandlerBase<Stream>(streamVector)
80 {
81 }
82
83 protected:
85
92 : StreamHandlerBase<Stream>(streamVector)
93 {
94 }
95
96 explicit MultiStreamHandler(const Driver::StreamPtr &stream)
97 : StreamHandlerBase<Stream>(stream)
98 {
99 }
100 };
101
102 } // namespace Async
103
105
106 CVB_END_INLINE_NS
107
108} // namespace Cvb
Handler object for multiple synchronous streams.
Definition decl_multi_stream_handler.hpp:58
MultiStreamHandler(const std::vector< Driver::StreamPtr > &streamVector)
Creates a stream handler object.
Definition decl_multi_stream_handler.hpp:91
static std::unique_ptr< MultiStreamHandler > Create(const std::vector< Driver::StreamPtr > &streamVector)
Create a stream handler object.
Definition decl_multi_stream_handler.hpp:73
Stream handler for synchronous streams.
Definition decl_stream_handler_base.hpp:91
Represents one acquisition stream of a device.
Definition decl_stream.hpp:33
Convenience classes for asynchronous image acquisition.
Definition decl_multi_stream_handler.hpp:11
std::shared_ptr< Stream > StreamPtr
Convenience shared pointer for Stream.
Definition driver.hpp:105
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17