Boost GIL


Classes | Namespaces
metafunctions.hpp File Reference

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.
 

Detailed Description

metafunctions that construct types or return type properties

Author
Lubomir Bourdev and Hailin Jin
Adobe Systems Incorporated
Date
2005-2007
Last updated on February 6, 2007