5#include "composite_stream_base.hpp"
6#include "../point_cloud.hpp"
23 using GuardType = HandleGuard<CompositeStreamBase>;
37 template<
class Rep,
class Period>
40 return CreateWaitResult<PointCloud>(InternalWaitFor<PointCloud>(timeSpan, token));
49 template<
class Rep,
class Period>
52 return CreateWaitResult<PointCloud>(InternalWaitFor<PointCloud>(timeSpan));
62 template<
class T,
class Rep,
class Period>
66 return CreateWaitResult<T>(InternalWaitFor<PointCloud>(timeSpan, token));
75 template<
class T,
class Rep,
class Period>
79 return CreateWaitResult<T>(InternalWaitFor<PointCloud>(timeSpan));
90 return CreateWaitResult<PointCloud>(InternalWait<PointCloud>(token));
100 return CreateWaitResult<PointCloud>(InternalWait<PointCloud>());
113 return CreateWaitResult<T>(InternalWait<PointCloud>(token));
125 return CreateWaitResult<T>(InternalWait<PointCloud>());
133 HandleGuard<PointCloud> guard(
nullptr);
135 std::tie(guard, waitStatus) = std::move(waitResultBase);
140 CExports::CVCCompositePurpose purpose = CExports::CVCCP_Custom;
141 CVB_CALL_CAPI_CHECKED(CVCCompositeGetPurpose(guard.Handle(), purpose))
142 if (purpose != CExports::CVCCP_PointCloud)
144 auto pointCloud = T::FromHandle(std::move(guard));
152using Driver::PointCloudStream;
A token to enable cancellation on wait operations.
Definition: cancellation_token.hpp:20
Base class of all composite based streams.
Definition: decl_composite_stream_base.hpp:32
Streams point clouds.
Definition: point_cloud_stream.hpp:20
WaitResultTuple< PointCloud > Wait(const CancellationToken &token)
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:88
WaitResultTuple< PointCloud > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan)
Waits for the given time span for the next acquired point cloud.
Definition: point_cloud_stream.hpp:50
WaitResultTuple< T > Wait(const CancellationToken &token)
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:110
WaitResultTuple< T > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan)
Waits for the given time span for the next acquired point cloud.
Definition: point_cloud_stream.hpp:76
WaitResultTuple< PointCloud > Wait()
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:98
WaitResultTuple< T > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan, const CancellationToken &token)
Waits for the given time span for the next acquired point cloud.
Definition: point_cloud_stream.hpp:63
WaitResultTuple< T > Wait()
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:122
WaitResultTuple< PointCloud > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan, const CancellationToken &token)
Waits for the given time span for the next acquired point cloud.
Definition: point_cloud_stream.hpp:38
Lazy enumeration of node maps.
Definition: node_map_enumerator.hpp:31
static NodeMapEnumerator FromObject(const T &object)
Create a node map enumerator for a given object.
Definition: node_map_enumerator.hpp:71
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24
WaitStatus
Status after waiting for an image to be returned.
Definition: global.hpp:351