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

# gil_concept.hpp File Reference

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

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

## Namespaces

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

## Classes

struct | DefaultConstructible
struct | CopyConstructible
struct | Assignable
struct | EqualityComparable
struct | SameType
struct | Swappable
struct | Regular
struct | Metafunction
struct | PointNDConcept
| N-dimensional point concept. More...
struct | Point2DConcept
| 2-dimensional point concept More...
struct | ColorSpaceConcept
| Color space type concept. More...
struct | ColorSpacesCompatibleConcept
| Two color spaces are compatible if they are the same. More...
struct | ChannelMappingConcept
| Channel mapping concept. More...
struct | ChannelConcept
| 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
| A channel that allows for modifying its value. More...
struct | ChannelValueConcept
| A channel that supports default construction. More...
struct | channels_are_compatible
| Predicate metafunction returning whether two channels are compatible Channels are considered compatible if their value types (ignoring constness and references) are the same. More...
struct | ChannelsCompatibleConcept
| Channels are compatible if their associated value types (ignoring constness and references) are the same. More...
struct | ChannelConvertibleConcept
| A channel is convertible to another one if the `channel_convert` algorithm is defined for the two channels. More...
struct | ColorBaseConcept
| A color base is a container of color elements (such as channels, channel references or channel pointers). More...
struct | MutableColorBaseConcept
| Color base which allows for modifying its elements. More...
struct | ColorBaseValueConcept
| Color base that also has a default-constructor. Refines Regular. More...
struct | HomogeneousColorBaseConcept
| Color base whose elements all have the same type. More...
struct | MutableHomogeneousColorBaseConcept
| Homogeneous color base that allows for modifying its elements. More...
struct | HomogeneousColorBaseValueConcept
| Homogeneous color base that also has a default constructor. Refines Regular. More...
struct | ColorBasesCompatibleConcept
| Two color bases are compatible if they have the same color space and their elements are compatible, semantic-pairwise. More...
struct | PixelBasedConcept
| Concept for all pixel-based GIL constructs, such as pixels, iterators, locators, views and images whose value type is a pixel. More...
struct | HomogeneousPixelBasedConcept
| Concept for homogeneous pixel-based GIL constructs. More...
struct | PixelConcept
| Pixel concept - A color base whose elements are channels. More...
struct | MutablePixelConcept
| Pixel concept that allows for changing its channels. More...
struct | HomogeneousPixelConcept
| Homogeneous pixel concept. More...
struct | MutableHomogeneousPixelConcept
| Homogeneous pixel concept that allows for changing its channels. More...
struct | PixelValueConcept
| Pixel concept that is a Regular type. More...
struct | HomogeneousPixelValueConcept
| Homogeneous pixel concept that is a Regular type. More...
struct | pixels_are_compatible
| Returns whether two pixels are compatible. More...
struct | PixelsCompatibleConcept
| 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
| Pixel convertible concept. More...
struct | PixelDereferenceAdaptorConcept
| Represents a unary function object that can be invoked upon dereferencing a pixel iterator. More...
struct | HasDynamicXStepTypeConcept
| 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
| 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
| 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
| An STL random access traversal iterator over a model of PixelConcept. More...
struct | MutablePixelIteratorConcept
| Pixel iterator that allows for changing its pixel. More...
struct | MemoryBasedIteratorConcept
| Concept of a random-access iterator that can be advanced in memory units (bytes or bits). More...
struct | StepIteratorConcept
| Step iterator concept. More...
struct | MutableStepIteratorConcept
| Step iterator that allows for modifying its current value. More...
struct | IteratorAdaptorConcept
| Iterator adaptor is a forward iterator adapting another forward iterator. More...
struct | MutableIteratorAdaptorConcept
| Iterator adaptor that is mutable. More...
struct | RandomAccessNDLocatorConcept
| N-dimensional locator over immutable values. More...
struct | RandomAccess2DLocatorConcept
| 2-dimensional locator over immutable values More...
struct | PixelLocatorConcept
| GIL's 2-dimensional locator over immutable GIL pixels. More...
struct | MutableRandomAccessNDLocatorConcept
| N-dimensional locator over mutable pixels. More...
struct | MutableRandomAccess2DLocatorConcept
| 2-dimensional locator over mutable pixels More...
struct | MutablePixelLocatorConcept
| GIL's 2-dimensional locator over mutable GIL pixels. More...
struct | RandomAccessNDImageViewConcept
| N-dimensional view over immutable values. More...
struct | RandomAccess2DImageViewConcept
| 2-dimensional view over immutable values More...
struct | ImageViewConcept
| GIL's 2-dimensional view over immutable GIL pixels. More...
struct | MutableRandomAccessNDImageViewConcept
| N-dimensional view over mutable values. More...
struct | MutableRandomAccess2DImageViewConcept
| 2-dimensional view over mutable values More...
struct | MutableImageViewConcept
| GIL's 2-dimensional view over mutable GIL pixels. More...
struct | views_are_compatible
| Returns whether two views are compatible. More...
struct | ViewsCompatibleConcept
| 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
| N-dimensional container of values. More...
struct | RandomAccess2DImageConcept
| 2-dimensional container of values More...
struct | ImageConcept
| 2-dimensional image whose value type models PixelValueConcept More...

## Defines

#define | GIL_CLASS_REQUIRE(T, NS, C)

## Functions

template<typename dstT, typename srcT>
channel_traits< dstT >::value_type | channel_convert (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 &x)
template<typename C>
void | gil_function_requires ()