CVB++ 15.0
stream_image.hpp
1#pragma once
2
3#include <limits>
4
5#include "../global.hpp"
6#include "../image.hpp"
7
8namespace Cvb
9{
10
11 CVB_BEGIN_INLINE_NS
12
13 namespace Driver
14 {
15
17
31 class StreamImage : public Image
32 {
33 public:
34 StreamImage(const StreamImage &other) = delete;
35 StreamImage &operator=(const StreamImage &other) = delete;
36 StreamImage(StreamImage &&other) = delete;
37 StreamImage &operator=(StreamImage &&other) = delete;
38 virtual ~StreamImage() = default;
39
41
47 virtual double RawTimestamp() const noexcept
48 {
49 return rawTimestamp_;
50 }
51
52 protected:
53 explicit StreamImage(HandleGuard<Image> &&guard) noexcept
54 : Image(std::move(guard))
56 {
57 }
58
59 void SetRawTimestamp(double rawTimestamp) noexcept
60 {
61 rawTimestamp_ = rawTimestamp;
62 }
63
64 private:
65 double rawTimestamp_;
66 };
67
68 } // namespace Driver
69
71
72 CVB_END_INLINE_NS
73
74} // namespace Cvb
Base class of all stream related images.
Definition stream_image.hpp:32
virtual double RawTimestamp() const noexcept
Gets the raw timestamp as reported by the driver.
Definition stream_image.hpp:47
Image(Size2D< int > size, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned())
Constructs an uninitialized image with the given parameters.
Definition decl_image.hpp:192
T move(T... args)
Namespace for driver or device related operations.
Definition decl_composite.hpp:27
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
T quiet_NaN(T... args)