Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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/type_traits.hpp>
#include "gil_config.hpp"
#include "gil_concept.hpp"
#include "channel.hpp"
Include dependency graph for metafunctions.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::gil::pixel< ChannelValue, Layout >
 Represents a pixel value (a container of channels). More...
 
struct  boost::gil::packed_pixel< BitField, ChannelRefVec, Layout >
 Heterogeneous pixel value whose channel references can be constructed from the pixel bitfield and their index. More...
 
struct  boost::gil::planar_pixel_reference< ChannelReference, ColorSpace >
 A reference proxy to a planar pixel. More...
 
struct  boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >
 An iterator over planar pixels. More...
 
class  boost::gil::memory_based_step_iterator< Iterator >
 MEMORY-BASED STEP ITERATOR. More...
 
class  boost::gil::memory_based_2d_locator< StepIterator >
 Memory-based pixel locator. More...
 
class  boost::gil::image_view< Loc >
 A lightweight object that interprets memory as a 2D array of pixels. More...
 
singleton  boost::gil::image< Pixel, IsPlanar, Alloc >
 container interface over image view. More...
 
struct  boost::gil::channel_type< P >
 
struct  boost::gil::color_space_type< T >
 
struct  boost::gil::channel_mapping_type< T >
 
struct  boost::gil::is_iterator_adaptor< It >
 metafunction predicate determining whether the given iterator is a plain one or an adaptor over another iterator. More...
 
struct  boost::gil::iterator_adaptor_get_base< It >
 returns the base iterator for a given iterator adaptor. Provide an specialization when introducing new iterator adaptors More...
 
struct  boost::gil::bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >
 Heterogeneous pixel reference corresponding to non-byte-aligned bit range. More...
 
struct  boost::gil::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). More...
 
struct  boost::gil::pixel_reference_is_basic< pixel< T, L > & >
 
struct  boost::gil::pixel_reference_is_basic< const pixel< T, L > & >
 
struct  boost::gil::pixel_reference_is_basic< planar_pixel_reference< TR, Cs > >
 
struct  boost::gil::pixel_reference_is_basic< const planar_pixel_reference< TR, Cs > >
 
struct  boost::gil::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). More...
 
struct  boost::gil::iterator_is_basic< pixel< T, L > * >
 
struct  boost::gil::iterator_is_basic< const pixel< T, L > * >
 
struct  boost::gil::iterator_is_basic< planar_pixel_iterator< T *, Cs > >
 
struct  boost::gil::iterator_is_basic< planar_pixel_iterator< const T *, Cs > >
 
struct  boost::gil::iterator_is_basic< memory_based_step_iterator< pixel< T, L > * > >
 
struct  boost::gil::iterator_is_basic< memory_based_step_iterator< const pixel< T, L > * > >
 
struct  boost::gil::iterator_is_basic< memory_based_step_iterator< planar_pixel_iterator< T *, Cs > > >
 
struct  boost::gil::iterator_is_basic< memory_based_step_iterator< planar_pixel_iterator< const T *, Cs > > >
 
struct  boost::gil::locator_is_basic< Loc >
 Determines if a given locator is basic. More...
 
struct  boost::gil::locator_is_basic< memory_based_2d_locator< memory_based_step_iterator< Iterator > > >
 
struct  boost::gil::view_is_basic< View >
 Basic views must be over basic locators. More...
 
struct  boost::gil::view_is_basic< image_view< Loc > >
 
struct  boost::gil::image_is_basic< Img >
 Basic images must use basic views and std::allocator of char. More...
 
struct  boost::gil::image_is_basic< image< Pixel, IsPlanar, Alloc > >
 
struct  boost::gil::iterator_is_step< I >
 Determines if the given iterator has a step that could be set dynamically. More...
 
struct  boost::gil::detail::iterator_is_step_impl< It, IsBase, EqualsStepType >
 
struct  boost::gil::detail::iterator_is_step_impl< It, IsBase, true >
 
struct  boost::gil::detail::iterator_is_step_impl< It, true, false >
 
struct  boost::gil::detail::iterator_is_step_impl< It, false, false >
 
struct  boost::gil::iterator_is_step< I >
 Determines if the given iterator has a step that could be set dynamically. More...
 
struct  boost::gil::locator_is_step_in_x< L >
 Determines if the given locator has a horizontal step that could be set dynamically. More...
 
struct  boost::gil::locator_is_step_in_y< L >
 Determines if the given locator has a vertical step that could be set dynamically. More...
 
struct  boost::gil::view_is_step_in_x< V >
 Determines if the given view has a horizontal step that could be set dynamically. More...
 
struct  boost::gil::view_is_step_in_y< V >
 Determines if the given view has a vertical step that could be set dynamically. More...
 
struct  boost::gil::pixel_reference_is_proxy< PixelReference >
 Determines whether the given pixel reference is a proxy class or a native C++ reference. More...
 
struct  boost::gil::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  boost::gil::pixel_reference_is_mutable< R >
 Determines if the given pixel reference is mutable (i.e. More...
 
struct  boost::gil::pixel_reference_is_mutable< const R & >
 
struct  boost::gil::locator_is_mutable< L >
 Determines if the given locator is mutable (i.e. More...
 
struct  boost::gil::view_is_mutable< V >
 Determines if the given view is mutable (i.e. More...
 
struct  boost::gil::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  boost::gil::pixel_reference_type< T, L, false, true >
 
struct  boost::gil::pixel_reference_type< T, L, false, false >
 
struct  boost::gil::pixel_reference_type< T, L, true, true >
 
struct  boost::gil::pixel_reference_type< T, L, true, false >
 
struct  boost::gil::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  boost::gil::iterator_type_from_pixel< Pixel, false, false, true >
 
struct  boost::gil::iterator_type_from_pixel< Pixel, false, false, false >
 
struct  boost::gil::iterator_type_from_pixel< Pixel, true, false, true >
 
struct  boost::gil::iterator_type_from_pixel< Pixel, true, false, false >
 
struct  boost::gil::iterator_type_from_pixel< Pixel, IsPlanar, true, IsMutable >
 
struct  boost::gil::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  boost::gil::iterator_type< T, L, false, false, true >
 
struct  boost::gil::iterator_type< T, L, false, false, false >
 
struct  boost::gil::iterator_type< T, L, true, false, true >
 
struct  boost::gil::iterator_type< T, L, true, false, false >
 
struct  boost::gil::iterator_type< T, L, IsPlanar, true, IsMutable >
 
struct  boost::gil::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  boost::gil::detail::packed_channel_reference_type< BitField, FirstBit, NumBits >
 
class  boost::gil::detail::packed_channel_references_vector_type< BitField, ChannelBitSizesVector >
 
struct  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::bit_aligned_image_type< ChannelBitSizeVector, Layout, Alloc >
 Returns the type of a packed image whose pixels may not be byte aligned. More...
 
struct  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::pixel_value_type< Channel, Layout >
 Returns the type of a homogeneous pixel given the channel type and layout. More...
 
struct  boost::gil::pixel_value_type< packed_dynamic_channel_reference< BitField, NumBits, IsMutable >, Layout >
 
struct  boost::gil::pixel_value_type< const packed_dynamic_channel_reference< BitField, NumBits, IsMutable >, Layout >
 
struct  boost::gil::pixel_value_type< packed_channel_reference< BitField, FirstBit, NumBits, IsMutable >, Layout >
 
struct  boost::gil::pixel_value_type< const packed_channel_reference< BitField, FirstBit, NumBits, IsMutable >, Layout >
 
struct  boost::gil::pixel_value_type< packed_channel_value< NumBits >, Layout >
 
struct  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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  boost::gil::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. More...
 
class  boost::gil::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. More...
 
class  boost::gil::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. More...
 
class  boost::gil::derived_image_type< Image, T, L, IsPlanar >
 Constructs a homogeneous image type from a source image type by changing some of the properties. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::gil
 
 boost::gil::detail
 

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