Generic Image Library: gil_concept.hpp File Reference

###  | #  |

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Namespaces | Macros | Functions
gil_concept.hpp File Reference

Concept check classes for GIL concepts. More...

`#include <functional>`
`#include "gil_config.hpp"`
`#include <boost/type_traits.hpp>`
`#include <boost/utility/enable_if.hpp>`
`#include <boost/concept_check.hpp>`
`#include <boost/iterator/iterator_concepts.hpp>`
`#include <boost/mpl/and.hpp>`
`#include <boost/mpl/size.hpp>`

Go to the source code of this file.

## Classes
struct | channel_traits< T >
| Traits for channels. Contains the following members: More...
class | point2< T >
| 2D point both axes of which have the same dimension typeModels: Point2DConcept More...
struct | kth_semantic_element_reference_type< ColorBase, K >
| Specifies the return type of the mutable semantic_at_c<K>(color_base);. More...
struct | kth_semantic_element_const_reference_type< ColorBase, K >
| Specifies the return type of the constant semantic_at_c<K>(color_base);. More...
struct | size< ColorBase >
| Returns an MPL integral type specifying the number of elements in a color base. More...
struct | element_type< ColorBase >
| Specifies the element type of a homogeneous color base. More...
struct | num_channels< T >
| Returns the number of channels of a pixel-based GIL construct. More...
struct | const_iterator_type< It >
| Returns the type of an iterator just like the input iterator, except operating over immutable values. More...
struct | iterator_is_mutable< It >
| Metafunction predicate returning whether the given iterator allows for changing its values. 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_rebind< It, NewBaseIt >
| Changes the base iterator of an iterator adaptor. Provide an specialization when introducing new iterator adaptors. 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 | 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 | bit_aligned_pixel_reference< BitField, ChannelBitSizes, Layout, IsMutable >
| Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models ColorBaseConcept, PixelConcept, PixelBasedConcept. More...
struct | DefaultConstructible< T >
struct | CopyConstructible< T >
struct | Assignable< T >
struct | EqualityComparable< T >
struct | SameType< T, U >
struct | Swappable< T >
struct | Regular< T >
struct | Metafunction< T >
struct | PointNDConcept< P >
| N-dimensional point concept. More...
struct | Point2DConcept< P >
| 2-dimensional point concept More...
struct | ColorSpaceConcept< Cs >
| Color space type concept. More...
struct | ColorSpacesCompatibleConcept< Cs1, Cs2 >
| Two color spaces are compatible if they are the same. More...
struct | ChannelMappingConcept< CM >
| Channel mapping concept. More...
struct | ChannelConcept< T >
| A channel is the building block of a color. Color is defined as a mixture of primary colors and a channel defines the degree to which each primary color is used in the mixture. More...
struct | MutableChannelConcept< T >
| A channel that allows for modifying its value. More...
struct | ChannelValueConcept< T >
| A channel that supports default construction. More...
struct | channels_are_compatible< T1, T2 >
| Predicate metafunction returning whether two channels are compatibleChannels are considered compatible if their value types (ignoring constness and references) are the same. More...
struct | ChannelsCompatibleConcept< T1, T2 >
| Channels are compatible if their associated value types (ignoring constness and references) are the same. More...
struct | ChannelConvertibleConcept< SrcChannel, DstChannel >
| A channel is convertible to another one if the `channel_convert` algorithm is defined for the two channels. More...
struct | ColorBaseConcept< ColorBase >
| A color base is a container of color elements (such as channels, channel references or channel pointers) More...
struct | MutableColorBaseConcept< ColorBase >
| Color base which allows for modifying its elements. More...
struct | ColorBaseValueConcept< ColorBase >
| Color base that also has a default-constructor. Refines Regular. More...
struct | HomogeneousColorBaseConcept< ColorBase >
| Color base whose elements all have the same type. More...
struct | MutableHomogeneousColorBaseConcept< ColorBase >
| Homogeneous color base that allows for modifying its elements. More...
struct | HomogeneousColorBaseValueConcept< ColorBase >
| Homogeneous color base that also has a default constructor. Refines Regular. More...
struct | ColorBasesCompatibleConcept< ColorBase1, ColorBase2 >
| Two color bases are compatible if they have the same color space and their elements are compatible, semantic-pairwise. More...
struct | PixelBasedConcept< P >
| Concept for all pixel-based GIL constructs, such as pixels, iterators, locators, views and images whose value type is a pixel. More...
struct | HomogeneousPixelBasedConcept< P >
| Concept for homogeneous pixel-based GIL constructs. More...
struct | PixelConcept< P >
| Pixel concept - A color base whose elements are channels. More...
struct | MutablePixelConcept< P >
| Pixel concept that allows for changing its channels. More...
struct | HomogeneousPixelConcept< P >
| Homogeneous pixel concept. More...
struct | MutableHomogeneousPixelConcept< P >
| Homogeneous pixel concept that allows for changing its channels. More...
struct | PixelValueConcept< P >
| Pixel concept that is a Regular type. More...
struct | HomogeneousPixelValueConcept< P >
| Homogeneous pixel concept that is a Regular type. More...
struct | pixels_are_compatible< P1, P2 >
| Returns whether two pixels are compatible. More...
struct | PixelsCompatibleConcept< P1, P2 >
| Concept for pixel compatibility Pixels are compatible if their channels and color space types are compatible. Compatible pixels can be assigned and copy constructed from one another. More...
struct | PixelConvertibleConcept< SrcP, DstP >
| Pixel convertible concept. More...
struct | PixelDereferenceAdaptorConcept< D >
| Represents a unary function object that can be invoked upon dereferencing a pixel iterator. More...
struct | HasDynamicXStepTypeConcept< T >
| Concept for iterators, locators and views that can define a type just like the given iterator/locator/view, except it supports runtime specified step along the X navigation. More...
struct | HasDynamicYStepTypeConcept< T >
| Concept for locators and views that can define a type just like the given locator or view, except it supports runtime specified step along the Y navigation. More...
struct | HasTransposedTypeConcept< T >
| Concept for locators and views that can define a type just like the given locator or view, except X and Y is swapped. More...
struct | PixelIteratorConcept< Iterator >
| An STL random access traversal iterator over a model of PixelConcept. More...
struct | MutablePixelIteratorConcept< Iterator >
| Pixel iterator that allows for changing its pixel. More...
struct | MemoryBasedIteratorConcept< Iterator >
| Concept of a random-access iterator that can be advanced in memory units (bytes or bits) More...
struct | StepIteratorConcept< Iterator >
| Step iterator concept. More...
struct | MutableStepIteratorConcept< Iterator >
| Step iterator that allows for modifying its current value. More...
struct | IteratorAdaptorConcept< Iterator >
| Iterator adaptor is a forward iterator adapting another forward iterator. More...
struct | MutableIteratorAdaptorConcept< Iterator >
| Iterator adaptor that is mutable. More...
struct | RandomAccessNDLocatorConcept< Loc >
| N-dimensional locator over immutable values. More...
struct | RandomAccess2DLocatorConcept< Loc >
| 2-dimensional locator over immutable values More...
struct | PixelLocatorConcept< Loc >
| GIL's 2-dimensional locator over immutable GIL pixels. More...
struct | MutableRandomAccessNDLocatorConcept< Loc >
| N-dimensional locator over mutable pixels. More...
struct | MutableRandomAccess2DLocatorConcept< Loc >
| 2-dimensional locator over mutable pixels More...
struct | MutablePixelLocatorConcept< Loc >
| GIL's 2-dimensional locator over mutable GIL pixels. More...
struct | RandomAccessNDImageViewConcept< View >
| N-dimensional view over immutable values. More...
struct | RandomAccess2DImageViewConcept< View >
| 2-dimensional view over immutable values More...
struct | ImageViewConcept< View >
| GIL's 2-dimensional view over immutable GIL pixels. More...
struct | MutableRandomAccessNDImageViewConcept< View >
| N-dimensional view over mutable values. More...
struct | MutableRandomAccess2DImageViewConcept< View >
| 2-dimensional view over mutable values More...
struct | MutableImageViewConcept< View >
| GIL's 2-dimensional view over mutable GIL pixels. More...
struct | views_are_compatible< V1, V2 >
| Returns whether two views are compatible. More...
struct | ViewsCompatibleConcept< V1, V2 >
| Views are compatible if they have the same color spaces and compatible channel values. Constness and layout are not important for compatibility. More...
struct | RandomAccessNDImageConcept< Img >
| N-dimensional container of values. More...
struct | RandomAccess2DImageConcept< Img >
| 2-dimensional container of values More...
struct | ImageConcept< Img >
| 2-dimensional image whose value type models PixelValueConcept More...

## Namespaces
| boost
| Pixel 2D LOCATOR.

## Macros
#define | GIL_CLASS_REQUIRE(T, NS, C)

## Functions
template<typename dstT , typename srcT >
channel_traits< dstT >::value_type | channel_convert (const srcT &val)
template<std::size_t K, typename T >
const T & | axis_value (const point2< T > &p)
template<std::size_t K, typename T >
T & | axis_value (point2< T > &p)
template<int K, typename E , typename L , int N>
add_reference< E >::type | at_c (detail::homogeneous_color_base< E, L, N > &p)
| Provides mutable access to the K-th element, in physical order.
template<int K, typename E , typename L , int N>
add_reference< typename add_const< E >::type >::type | at_c (const detail::homogeneous_color_base< E, L, N > &p)
| Provides constant access to the K-th element, in physical order.
template<int K, typename P , typename C , typename L >
kth_element_reference_type < packed_pixel< P, C, L >, K > ::type | at_c (packed_pixel< P, C, L > &p)
template<int K, typename P , typename C , typename L >
kth_element_const_reference_type < packed_pixel< P, C, L >, K > ::type | at_c (const packed_pixel< P, C, L > &p)
template<int K, typename B , typename C , typename L , bool M>
kth_element_reference_type < bit_aligned_pixel_reference < B, C, L, M >, K >::type | at_c (const bit_aligned_pixel_reference< B, C, L, M > &p)
template<int K, typename ColorBase >
disable_if< is_const < ColorBase >, typename kth_semantic_element_reference_type < ColorBase, K >::type >::type | semantic_at_c (ColorBase &p)
| A mutable accessor to the K-th semantic element of a color base.
template<int K, typename ColorBase >
kth_semantic_element_const_reference_type < ColorBase, K >::type | semantic_at_c (const ColorBase &p)
| A constant accessor to the K-th semantic element of a color base.
template<typename T >
void | initialize_it (T &)
template<typename C >
void | gil_function_requires ()

## Detailed Description

Concept check classes for GIL concepts.

Author
  Lubomir Bourdev and Hailin Jin
  Adobe Systems Incorporated

Date
  2005-2007
  Last updated on February 12, 2007