Various utilities not specific to the image library. Some are non-standard STL extensions or generic iterator adaptors. 
|  | 
| 
 Namespaces | 
| namespace | boost | 
| namespace | boost::gil | 
| namespace | boost::gil::detail | 
| 
 Classes | 
| class | point2 | 
|  | 2D point both axes of which have the same dimension type 
Models: Point2DConcept  More...
 | 
| struct | deref_base | 
|  | Helper base class for pixel dereference adaptors.  More... 
 | 
| class | deref_compose | 
|  | Composes two dereference function objects. Similar to std::unary_compose but needs to pull some typedefs from the component types. Models: PixelDereferenceAdaptorConcept.  More... 
 | 
| struct | identity | 
|  | identity taken from SGI STL.  More... 
 | 
| struct | plus_asymmetric | 
|  | plus function object whose arguments may be of different type.  More... 
 | 
| struct | inc | 
|  | operator++ wrapped in a function object  More... 
 | 
| struct | dec | 
|  | operator-- wrapped in a function object  More... 
 | 
| struct | type_to_index | 
|  | Returns the index corresponding to the first occurrance of a given given type in.  More... 
 | 
| struct | layout | 
|  | Represents a color space and ordering of channels in memory.  More... 
 | 
| 
 Functions | 
| template<typename T> | 
| GIL_FORCEINLINE bool | operator== (const point2< T > &p1, const point2< T > &p2) | 
| template<typename T> | 
| GIL_FORCEINLINE bool | operator!= (const point2< T > &p1, const point2< T > &p2) | 
| template<typename T> | 
| GIL_FORCEINLINE point2< T > | operator+ (const point2< T > &p1, const point2< T > &p2) | 
| template<typename T> | 
| GIL_FORCEINLINE point2< T > | operator- (const point2< T > &p) | 
| template<typename T> | 
| GIL_FORCEINLINE point2< T > | operator- (const point2< T > &p1, const point2< T > &p2) | 
| template<typename T> | 
| GIL_FORCEINLINE point2< double > | operator/ (const point2< T > &p, double t) | 
| template<typename T> | 
| GIL_FORCEINLINE point2< T > | operator* (const point2< T > &p, std::ptrdiff_t t) | 
| template<typename T> | 
| GIL_FORCEINLINE point2< T > | operator* (std::ptrdiff_t t, const point2< T > &p) | 
| 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) | 
| std::ptrdiff_t | iround (float x) | 
| std::ptrdiff_t | iround (double x) | 
| std::ptrdiff_t | ifloor (float x) | 
| std::ptrdiff_t | ifloor (double x) | 
| std::ptrdiff_t | iceil (float x) | 
| std::ptrdiff_t | iceil (double x) | 
| point2< std::ptrdiff_t > | iround (const point2< float > &p) | 
| point2< std::ptrdiff_t > | iround (const point2< double > &p) | 
| point2< std::ptrdiff_t > | ifloor (const point2< float > &p) | 
| point2< std::ptrdiff_t > | ifloor (const point2< double > &p) | 
| point2< std::ptrdiff_t > | iceil (const point2< float > &p) | 
| point2< std::ptrdiff_t > | iceil (const point2< double > &p) | 
| template<typename T> | 
| T | align (T val, std::size_t alignment) | 
| template<typename OutPtr, typename In> | 
| GIL_FORCEINLINE OutPtr | gil_reinterpret_cast (In *p) | 
| template<typename OutPtr, typename In> | 
| GIL_FORCEINLINE const OutPtr | gil_reinterpret_cast_c (const In *p) | 
| template<class InputIter, class Size, class OutputIter> | 
| std::pair< InputIter, OutputIter > | _copy_n (InputIter first, Size count, OutputIter result, std::input_iterator_tag) | 
|  | copy_n taken from SGI STL. 
 | 
| template<class RAIter, class Size, class OutputIter> | 
| std::pair< RAIter, OutputIter > | _copy_n (RAIter first, Size count, OutputIter result, std::random_access_iterator_tag) | 
| template<class InputIter, class Size, class OutputIter> | 
| std::pair< InputIter, OutputIter > | _copy_n (InputIter first, Size count, OutputIter result) | 
| template<class InputIter, class Size, class OutputIter> | 
| std::pair< InputIter, OutputIter > | copy_n (InputIter first, Size count, OutputIter result) | 
| template<typename Value, typename T1, typename T2> | 
| void | swap_proxy (T1 &left, T2 &right) | 
|  | A version of swap that also works with reference proxy objects. 
 | 
| bool | little_endian () | 
|  | Run-time detection of whether the underlying architecture is little endian. 
 | 
| bool | big_endian () | 
|  | Run-time detection of whether the underlying architecture is big endian. 
 |