Generic Image Library: metafunctions.hpp File Reference

###  | #  |

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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