Generic Image Library: metafunctions.hpp File Reference

Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page

# metafunctions.hpp File Reference

## 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

`#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/type_traits.hpp>`
`#include "gil_config.hpp"`
`#include "gil_concept.hpp"`
`#include "channel.hpp"`

Go to the source code of this file.

## Namespaces

namespace | boost
namespace | boost::gil
namespace | boost::gil::detail

## Classes

struct | pixel_reference_is_basic
| 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
| 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
| 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
| Basic views must be over basic locators. More...
struct | image_is_basic
| Basic images must use basic views and std::allocator of char. More...
struct | iterator_is_step
| Determines if the given iterator has a step that could be set dynamically. More...
struct | locator_is_step_in_x
| Determines if the given locator has a horizontal step that could be set dynamically. More...
struct | locator_is_step_in_y
| Determines if the given locator has a vertical step that could be set dynamically. More...
struct | view_is_step_in_x
| Determines if the given view has a horizontal step that could be set dynamically. More...
struct | view_is_step_in_y
| Determines if the given view has a vertical step that could be set dynamically. More...
struct | pixel_reference_is_proxy
| Determines whether the given pixel reference is a proxy class or a native C++ reference. More...
struct | pixel_is_reference
| 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
| Determines if the given pixel reference is mutable (i.e. its channels can be changed). More...
struct | locator_is_mutable
| Determines if the given locator is mutable (i.e. its pixels can be changed). More...
struct | view_is_mutable
| Determines if the given view is mutable (i.e. its pixels can be changed). More...
struct | pixel_reference_type
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| Returns the type of a homogeneous pixel given the channel type and layout. More...
struct | locator_type
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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...