metafunctions that construct types or return type properties More...
#include <iterator>
#include <boost/mpl/accumulate.hpp>
#include <boost/mpl/back.hpp>
#include <boost/mpl/bool.hpp>
#include <boost/mpl/if.hpp>
#include <boost/mpl/pop_back.hpp>
#include <boost/mpl/push_back.hpp>
#include <boost/mpl/transform.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/vector_c.hpp>
#include <boost/type_traits.hpp>
#include "gil_config.hpp"
#include "gil_concept.hpp"
#include "channel.hpp"
Go to the source code of this file.
Classes | |
struct | pixel< T, L > |
Represents a pixel value (a container of channels). Models: HomogeneousColorBaseValueConcept, PixelValueConcept, HomogeneousPixelBasedConcept. More... | |
struct | packed_pixel< P, C, L > |
Heterogeneous pixel value whose channel references can be constructed from the pixel bitfield and their index. Models ColorBaseValueConcept, PixelValueConcept, PixelBasedConcept Typical use for this is a model of a packed pixel (like 565 RGB) More... | |
struct | planar_pixel_reference< T, C > |
A reference proxy to a planar pixel. Models: HomogeneousColorBaseConcept, HomogeneousPixelConcept. More... | |
struct | planar_pixel_iterator< ChannelPtr, ColorSpace > |
An iterator over planar pixels. Models HomogeneousColorBaseConcept, PixelIteratorConcept, HomogeneousPixelBasedConcept, MemoryBasedIteratorConcept, HasDynamicXStepTypeConcept. More... | |
class | memory_based_step_iterator< Iterator > |
MEMORY-BASED STEP ITERATOR. More... | |
class | memory_based_2d_locator< StepIterator > |
Memory-based pixel locator. Models: PixelLocatorConcept,HasDynamicXStepTypeConcept,HasDynamicYStepTypeConcept,HasTransposedTypeConceptThe class takes a step iterator as a parameter. The step iterator provides navigation along the vertical axis while its base iterator provides horizontal navigation. More... | |
class | image_view< Loc > |
A lightweight object that interprets memory as a 2D array of pixels. Models ImageViewConcept,PixelBasedConcept,HasDynamicXStepTypeConcept,HasDynamicYStepTypeConcept,HasTransposedTypeConcept. More... | |
class | image< Pixel, IsPlanar, Alloc > |
container interface over image view. Models ImageConcept, PixelBasedConcept More... | |
struct | is_iterator_adaptor< It > |
metafunction predicate determining whether the given iterator is a plain one or an adaptor over another iterator. Examples of adaptors are the step iterator and the dereference iterator adaptor. More... | |
struct | iterator_adaptor_get_base< It > |
returns the base iterator for a given iterator adaptor. Provide an specialization when introducing new iterator adaptors More... | |
struct | bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable > |
Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models ColorBaseConcept, PixelConcept, PixelBasedConcept. More... | |
struct | pixel_reference_is_basic< PixelRef > |
Determines if a given pixel reference is basic Basic references must use gil::pixel& (if interleaved), gil::planar_pixel_reference (if planar). They must use the standard constness rules. More... | |
struct | iterator_is_basic< Iterator > |
Determines if a given pixel iterator is basic Basic iterators must use gil::pixel (if interleaved), gil::planar_pixel_iterator (if planar) and gil::memory_based_step_iterator (if step). They must use the standard constness rules. More... | |
struct | locator_is_basic< Loc > |
Determines if a given locator is basic. A basic locator is memory-based and has basic x_iterator and y_iterator. More... | |
struct | view_is_basic< View > |
Basic views must be over basic locators. More... | |
struct | image_is_basic< Img > |
Basic images must use basic views and std::allocator of char. More... | |
struct | iterator_is_step< I > |
Determines if the given iterator has a step that could be set dynamically. More... | |
struct | iterator_is_step< I > |
Determines if the given iterator has a step that could be set dynamically. More... | |
struct | locator_is_step_in_x< L > |
Determines if the given locator has a horizontal step that could be set dynamically. More... | |
struct | locator_is_step_in_y< L > |
Determines if the given locator has a vertical step that could be set dynamically. More... | |
struct | view_is_step_in_x< V > |
Determines if the given view has a horizontal step that could be set dynamically. More... | |
struct | view_is_step_in_y< V > |
Determines if the given view has a vertical step that could be set dynamically. More... | |
struct | pixel_reference_is_proxy< PixelReference > |
Determines whether the given pixel reference is a proxy class or a native C++ reference. More... | |
struct | pixel_is_reference< Pixel > |
Given a model of a pixel, determines whether the model represents a pixel reference (as opposed to pixel value) More... | |
struct | pixel_reference_is_mutable< R > |
Determines if the given pixel reference is mutable (i.e. its channels can be changed) More... | |
struct | locator_is_mutable< L > |
Determines if the given locator is mutable (i.e. its pixels can be changed) More... | |
struct | view_is_mutable< V > |
Determines if the given view is mutable (i.e. its pixels can be changed) More... | |
struct | pixel_reference_type< T, L, IsPlanar, IsMutable > |
Returns the type of a homogeneous pixel reference given the channel type, layout, whether it operates on planar data and whether it is mutable. More... | |
struct | iterator_type_from_pixel< Pixel, IsPlanar, IsStep, IsMutable > |
Returns the type of a pixel iterator given the pixel type, whether it operates on planar data, whether it is a step iterator, and whether it is mutable. More... | |
struct | iterator_type< T, L, IsPlanar, IsStep, IsMutable > |
Returns the type of a homogeneous iterator given the channel type, layout, whether it operates on planar data, whether it is a step iterator, and whether it is mutable. More... | |
struct | type_from_x_iterator< XIterator > |
Given a pixel iterator defining access to pixels along a row, returns the types of the corresponding built-in step_iterator, xy_locator, image_view. More... | |
struct | packed_pixel_type< BitField, ChannelBitSizeVector, Layout > |
Returns the type of a packed pixel given its bitfield type, the bit size of its channels and its layout. More... | |
struct | packed_image_type< BitField, ChannelBitSizeVector, Layout, Alloc > |
Returns the type of an interleaved packed image: an image whose channels may not be byte-aligned, but whose pixels are byte aligned. More... | |
struct | packed_image1_type< BitField, Size1, Layout, Alloc > |
Returns the type of a single-channel image given its bitfield type, the bit size of its channel and its layout. More... | |
struct | packed_image2_type< BitField, Size1, Size2, Layout, Alloc > |
Returns the type of a two channel image given its bitfield type, the bit size of its channels and its layout. More... | |
struct | packed_image3_type< BitField, Size1, Size2, Size3, Layout, Alloc > |
Returns the type of a three channel image given its bitfield type, the bit size of its channels and its layout. More... | |
struct | packed_image4_type< BitField, Size1, Size2, Size3, Size4, Layout, Alloc > |
Returns the type of a four channel image given its bitfield type, the bit size of its channels and its layout. More... | |
struct | packed_image5_type< BitField, Size1, Size2, Size3, Size4, Size5, Layout, Alloc > |
Returns the type of a five channel image given its bitfield type, the bit size of its channels and its layout. More... | |
struct | bit_aligned_image_type< ChannelBitSizeVector, Layout, Alloc > |
Returns the type of a packed image whose pixels may not be byte aligned. For example, an "rgb222" image is bit-aligned because its pixel spans six bits. More... | |
struct | bit_aligned_image1_type< Size1, Layout, Alloc > |
Returns the type of a single-channel bit-aligned image given the bit size of its channel and its layout. More... | |
struct | bit_aligned_image2_type< Size1, Size2, Layout, Alloc > |
Returns the type of a two channel bit-aligned image given the bit size of its channels and its layout. More... | |
struct | bit_aligned_image3_type< Size1, Size2, Size3, Layout, Alloc > |
Returns the type of a three channel bit-aligned image given the bit size of its channels and its layout. More... | |
struct | bit_aligned_image4_type< Size1, Size2, Size3, Size4, Layout, Alloc > |
Returns the type of a four channel bit-aligned image given the bit size of its channels and its layout. More... | |
struct | bit_aligned_image5_type< Size1, Size2, Size3, Size4, Size5, Layout, Alloc > |
Returns the type of a five channel bit-aligned image given the bit size of its channels and its layout. More... | |
struct | pixel_value_type< Channel, Layout > |
Returns the type of a homogeneous pixel given the channel type and layout. More... | |
struct | locator_type< T, L, IsPlanar, IsStepX, IsMutable > |
Returns the type of a homogeneous locator given the channel type, layout, whether it operates on planar data and whether it has a step horizontally. More... | |
struct | view_type< T, L, IsPlanar, IsStepX, IsMutable > |
Returns the type of a homogeneous view given the channel type, layout, whether it operates on planar data and whether it has a step horizontally. More... | |
struct | image_type< T, L, IsPlanar, Alloc > |
Returns the type of a homogeneous image given the channel type, layout, and whether it operates on planar data. More... | |
struct | view_type_from_pixel< Pixel, IsPlanar, IsStepX, IsMutable > |
Returns the type of a view the pixel type, whether it operates on planar data and whether it has a step horizontally. More... | |
class | derived_pixel_reference_type< Ref, T, L, IsPlanar, IsMutable > |
Constructs a pixel reference type from a source pixel reference type by changing some of the properties.Use use_default for the properties of the source view that you want to keep. More... | |
class | derived_iterator_type< Iterator, T, L, IsPlanar, IsStep, IsMutable > |
Constructs a pixel iterator type from a source pixel iterator type by changing some of the properties.Use use_default for the properties of the source view that you want to keep. More... | |
class | derived_view_type< View, T, L, IsPlanar, StepX, IsMutable > |
Constructs an image view type from a source view type by changing some of the properties.Use use_default for the properties of the source view that you want to keep. More... | |
class | derived_image_type< Image, T, L, IsPlanar > |
Constructs a homogeneous image type from a source image type by changing some of the properties.Use use_default for the properties of the source image that you want to keep. More... | |
Namespaces | |
boost | |
Pixel 2D LOCATOR. | |
metafunctions that construct types or return type properties