|
| | Block (ACCESSTRAIT access, Cvb::Size2D< int > size) |
| |
| | Block (const Block &other) noexcept=default |
| | Copy ctor. More...
|
| |
| Block & | operator= (const Block &other) noexcept=default |
| | Copy operator. More...
|
| |
|
| ~Block ()=default |
| | Default dtor.
|
| |
| auto | SubBlock (Cvb::Rect< int > aoi) const -> Block< T, decltype(this->Access().NewMoved(Cvb::Rect< int >{}))> |
| | Creates a new sub Block from this block. More...
|
| |
| CVB_FORCE_INLINE const PixelType & | operator() (int x, int y) const noexcept |
| | Coordinate pixel access operator. More...
|
| |
| CVB_FORCE_INLINE PixelType & | operator() (int x, int y) noexcept |
| | Coordinate pixel access operator. More...
|
| |
| template<class FromPixelType > |
| CVB_FORCE_INLINE auto | Set (int x, int y, const FromPixelType &value) noexcept -> std::enable_if_t<!std::is_convertible< remove_cvref_t< FromPixelType >, remove_cvref_t< PixelType > >::value, void > |
| | Coordinate setter. More...
|
| |
| CVB_FORCE_INLINE void | Set (int x, int y, const PixelType &value) noexcept |
| | Coordinate setter. More...
|
| |
| CVB_FORCE_INLINE const PixelType & | operator[] (int idx) const noexcept |
| | Index pixel access operator. More...
|
| |
| CVB_FORCE_INLINE PixelType & | operator[] (int idx) noexcept |
| | Coordinate pixel access operator. More...
|
| |
| template<class FromPixelType > |
| CVB_FORCE_INLINE auto | Set (int idx, const FromPixelType &value) noexcept -> std::enable_if_t<!std::is_convertible< remove_cvref_t< FromPixelType >, remove_cvref_t< PixelType > >::value, void > |
| | Index setter. More...
|
| |
| CVB_FORCE_INLINE void | Set (int idx, const PixelType &value) noexcept |
| | Index setter. More...
|
| |
| Row | RowAt (int y) const noexcept |
| | Gets the Block::Row at y. More...
|
| |
| Column | ColumnAt (int x) const noexcept |
| | Gets the Block::Column at x. More...
|
| |
| CVB_FORCE_INLINE const ACCESSTRAIT & | Access () const noexcept |
| | Gets the pixel access. More...
|
| |
| CVB_FORCE_INLINE ACCESSTRAIT & | Access () noexcept |
| | Gets the pixel access. More...
|
| |
| CVB_FORCE_INLINE size_t | Length () const noexcept |
| | Gets the total number of pixels in this block. More...
|
| |
| CVB_FORCE_INLINE Size2D< int > | Size () const noexcept |
| | Gets the size of this block. More...
|
| |
| CVB_FORCE_INLINE int | Width () const noexcept |
| | Gets the width of this block. More...
|
| |
| CVB_FORCE_INLINE int | Height () const noexcept |
| | Gets the height of this block. More...
|
| |
| bool | Valid () const noexcept |
| | Gets whether this block is valid. More...
|
| |
|
(Note that these are not member functions.)
|
| template<class T > |
| using | ArrayPlaneBlock = Block< T, ArrayAccess > |
| | A Cvb::Block of a contiguous plane. More...
|
| |
| template<class T > |
| using | LinearPlaneBlock = Block< T, LinearAccess > |
| | A Cvb::Block of a linear plane. More...
|
| |
| template<class T > |
| using | VpatPlaneBlock = Block< T, VpatAccess > |
| | A Cvb::Block of a VPAT plane. More...
|
| |
| template<class T , size_t K> |
| using | ScatterBlock = Block< T, ScatterAccess< K > > |
| | A Cvb::Block of variant planes. More...
|
| |
| template<class VISITOR , class PLANE_T , class... PLANEARGS, std::enable_if_t< std::is_same< typename PlaneTraits< PLANE_T >::PlaneT, PLANE_T >::value, int > = 0> |
| auto | Visit (VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &... planes) |
| | Creates a Cvb::Block based on the plane and planes objects' access traits and pixel type and calls the given visitor with it. More...
|
| |
| template<class T , class VISITOR , class PLANE_T , class... PLANEARGS, std::enable_if_t< std::is_same< typename PlaneTraits< PLANE_T >::PlaneT, PLANE_T >::value, int > = 0> |
| auto | VisitAs (VISITOR &&visitor, const PLANE_T &plane, const PLANEARGS &... planes) |
| | Creates Cvb::Blocks based on the planes objects' access traits and T and calls the given visitor with them. When the T is compile-time known, this variant is useful to avoid unnecessary template instantiations. More...
|
| |
template<class T, class ACCESSTRAIT>
class Cvb::Block< T, ACCESSTRAIT >
Non-owning view on a 2d-plane of data.
- Template Parameters
-
| T | Plane value type. |
| ACCESSTRAIT | Access Trait to access a coordinate. |