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 () |
Concept check classes for GIL concepts.