Sirius  0.0.0
stream_block.h
Go to the documentation of this file.
1 
22 #ifndef SIRIUS_GDAL_STREAM_H_
23 #define SIRIUS_GDAL_STREAM_H_
24 
25 #include "sirius/image.h"
26 
27 namespace sirius {
28 namespace gdal {
29 
33 struct StreamBlock {
34  StreamBlock() = default;
35 
45  StreamBlock(Image&& i_block_image, int i_row_idx, int i_col_idx,
46  const Padding& i_padding)
47  : buffer(std::move(i_block_image)),
48  row_idx(i_row_idx),
49  col_idx(i_col_idx),
50  padding(i_padding),
51  is_initialized(true) {}
52 
53  ~StreamBlock() = default;
54  StreamBlock(const StreamBlock&) = default;
55  StreamBlock& operator=(const StreamBlock&) = default;
56  StreamBlock(StreamBlock&&) = default;
57  StreamBlock& operator=(StreamBlock&&) = default;
58 
60  int row_idx = 0;
61  int col_idx = 0;
63  bool is_initialized = false;
64 };
65 
66 } // namespace gdal
67 } // namespace sirius
68 
69 #endif // SIRIUS_GDAL_STREAM_H_
StreamBlock(Image &&i_block_image, int i_row_idx, int i_col_idx, const Padding &i_padding)
Instanciate a stream block from its block image and its position in the input image.
Definition: stream_block.h:45
Definition: exception.h:27
Definition: error_code.h:70
Stream block.
Definition: stream_block.h:33
Data class that represents the padding of an image.
Definition: image.h:39
Image buffer
Definition: stream_block.h:59
StreamBlock & operator=(const StreamBlock &)=default
bool is_initialized
Definition: stream_block.h:63
Padding padding
Definition: stream_block.h:62
int col_idx
Definition: stream_block.h:61
int row_idx
Definition: stream_block.h:60
Data class that represents an image (Size + Buffer)
Definition: image.h:65