Boost GIL


Public Types | Public Member Functions | List of all members
any_image< Images > Class Template Reference

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_imageoperator= (any_image const &img)
 
template<typename Image >
any_imageoperator= (Image const &img)
 
template<typename ... OtherImages>
any_imageoperator= (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
 

Detailed Description

template<typename ... Images>
class boost::gil::any_image< Images >

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.


The documentation for this class was generated from the following file: