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