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.