Represents a run-time specified image. Note it does NOT model ImageConcept. More...
#include <any_image.hpp>
Inherits variant< Images... >.
Public Types | |
using | view_t = mp11::mp_rename< detail::images_get_views_t< any_image >, any_image_view > |
using | const_view_t = mp11::mp_rename< detail::images_get_const_views_t< any_image >, any_image_view > |
using | x_coord_t = std::ptrdiff_t |
using | y_coord_t = std::ptrdiff_t |
using | point_t = point< std::ptrdiff_t > |
Public Member Functions | |
any_image & | operator= (any_image const &img) |
template<typename Image > | |
any_image & | operator= (Image const &img) |
template<typename ... OtherImages> | |
any_image & | operator= (any_image< OtherImages... > const &img) |
void | recreate (point_t const &dims, unsigned alignment=1) |
void | recreate (x_coord_t width, y_coord_t height, unsigned alignment=1) |
std::size_t | num_channels () const |
point_t | dimensions () const |
x_coord_t | width () const |
y_coord_t | height () const |
Represents a run-time specified image. Note it does NOT model ImageConcept.
Represents an image whose type (color space, layout, planar/interleaved organization, etc) can be specified at run time. It is the runtime equivalent of image
. Some of the requirements of ImageConcept, such as the value_type
alias cannot be fulfilled, since the language does not allow runtime type specification. Other requirements, such as access to the pixels, would be inefficient to provide. Thus any_image
does not fully model ImageConcept. In particular, its view
and const_view
methods return any_image_view
, which does not fully model ImageViewConcept. See any_image_view
for more.