Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
algorithm.hpp File Reference

Some basic STL-style algorithms when applied to image views. More...

#include <cassert>
#include <cstddef>
#include <cstring>
#include <algorithm>
#include <iterator>
#include <memory>
#include <typeinfo>
#include "gil_config.hpp"
#include "gil_concept.hpp"
#include "color_base_algorithm.hpp"
#include "image_view.hpp"
#include "image_view_factory.hpp"
#include "bit_aligned_pixel_iterator.hpp"
Include dependency graph for algorithm.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::gil::planar_pixel_iterator< ChannelPtr, ColorSpace >
 An iterator over planar pixels. More...
 
class  boost::gil::memory_based_step_iterator< Iterator >
 MEMORY-BASED STEP ITERATOR. More...
 
class  boost::gil::memory_based_2d_locator< StepIterator >
 Memory-based pixel locator. More...
 
struct  boost::gil::error_t
 
struct  boost::gil::binary_operation_obj< Derived, Result >
 A generic binary operation on viewsUse this class as a convenience superclass when defining an operation for any image views. More...
 
struct  boost::gil::detail::copy_fn< I, O >
 
struct  boost::gil::detail::copier_n< I, O >
 Does a copy-n. More...
 
struct  boost::gil::detail::copier_n< iterator_from_2d< IL >, O >
 Source range is delimited by image iterators. More...
 
struct  boost::gil::detail::copier_n< I, iterator_from_2d< OL > >
 Destination range is delimited by image iterators. More...
 
struct  boost::gil::detail::copier_n< iterator_from_2d< IL >, iterator_from_2d< OL > >
 Both source and destination ranges are delimited by image iterators. More...
 
class  boost::gil::detail::copy_and_convert_pixels_fn< CC >
 
struct  boost::gil::detail::std_fill_t
 struct to do std::fill More...
 
struct  boost::gil::detail::std_destruct_t
 
struct  boost::gil::detail::has_trivial_pixel_constructor< View, IsPlanar >
 
struct  boost::gil::detail::has_trivial_pixel_constructor< View, true >
 
struct  boost::gil::detail::equal_n_fn< I1, I2 >
 
struct  boost::gil::detail::equal_n_fn< const pixel< T, Cs > *, const pixel< T, Cs > * >
 Equal when both ranges are interleaved and of the same type. More...
 
struct  boost::gil::detail::equal_n_fn< pixel< T, Cs > *, pixel< T, Cs > * >
 
struct  boost::gil::detail::equal_n_fn< planar_pixel_iterator< IC, Cs >, planar_pixel_iterator< IC, Cs > >
 EqualPixels Equal when both ranges are planar pointers of the same type. More...
 
struct  boost::gil::detail::equal_n_fn< boost::gil::iterator_from_2d< Loc >, I2 >
 Source range is delimited by image iterators. More...
 
struct  boost::gil::detail::equal_n_fn< I1, boost::gil::iterator_from_2d< Loc > >
 Destination range is delimited by image iterators. More...
 
struct  boost::gil::detail::equal_n_fn< boost::gil::iterator_from_2d< Loc1 >, boost::gil::iterator_from_2d< Loc2 > >
 Both source and destination ranges are delimited by image iterators. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::gil
 
 boost::gil::detail
 

Functions

template<typename T , typename Cs >
boost::gil::pixel< T, Cs > * std::copy (boost::gil::pixel< T, Cs > *first, boost::gil::pixel< T, Cs > *last, boost::gil::pixel< T, Cs > *dst)
 Copy when both src and dst are interleaved and of the same type can be just memmove. More...
 
template<typename T , typename Cs >
boost::gil::pixel< T, Cs > * std::copy (const boost::gil::pixel< T, Cs > *first, const boost::gil::pixel< T, Cs > *last, boost::gil::pixel< T, Cs > *dst)
 Copy when both src and dst are interleaved and of the same type can be just memmove. More...
 
template<typename Cs , typename IC1 , typename IC2 >
boost::gil::planar_pixel_iterator
< IC2, Cs > 
std::copy (boost::gil::planar_pixel_iterator< IC1, Cs > first, boost::gil::planar_pixel_iterator< IC1, Cs > last, boost::gil::planar_pixel_iterator< IC2, Cs > dst)
 Copy when both src and dst are planar pointers is copy for each channel. More...
 
template<typename SrcIterator , typename DstIterator >
DstIterator boost::gil::detail::copy_with_2d_iterators (SrcIterator first, SrcIterator last, DstIterator dst)
 
template<typename IL , typename OL >
boost::gil::iterator_from_2d< OL > std::copy1 (boost::gil::iterator_from_2d< IL > first, boost::gil::iterator_from_2d< IL > last, boost::gil::iterator_from_2d< OL > dst)
 std::copy(I1,I1,I2) with I1 and I2 being a iterator_from_2d More...
 
template<typename View1 , typename View2 >
void boost::gil::copy_pixels (const View1 &src, const View2 &dst)
 std::copy for image views More...
 
template<typename V1 , typename V2 , typename CC >
void boost::gil::copy_and_convert_pixels (const V1 &src, const V2 &dst, CC cc)
 
template<typename View1 , typename View2 >
void boost::gil::copy_and_convert_pixels (const View1 &src, const View2 &dst)
 
template<typename IL , typename V >
void std::fill (boost::gil::iterator_from_2d< IL > first, boost::gil::iterator_from_2d< IL > last, const V &val)
 std::fill(I,I,V) with I being a iterator_from_2d More...
 
template<typename It , typename P >
void boost::gil::detail::fill_aux (It first, It last, const P &p, mpl::true_)
 std::fill for planar iterators More...
 
template<typename It , typename P >
void boost::gil::detail::fill_aux (It first, It last, const P &p, mpl::false_)
 std::fill for interleaved iterators More...
 
template<typename View , typename Value >
void boost::gil::fill_pixels (const View &img_view, const Value &val)
 std::fill for image views More...
 
template<typename It >
void boost::gil::detail::destruct_range_impl (It first, It last, mpl::true_)
 
template<typename It >
void boost::gil::detail::destruct_range_impl (It, It, mpl::false_)
 
template<typename It >
void boost::gil::detail::destruct_range (It first, It last)
 
template<typename It >
void boost::gil::detail::destruct_aux (It first, It last, mpl::true_)
 destruct for planar iterators More...
 
template<typename It >
void boost::gil::detail::destruct_aux (It first, It last, mpl::false_)
 destruct for interleaved iterators More...
 
template<typename View >
void boost::gil::destruct_pixels (const View &img_view)
 Invokes the in-place destructor on every pixel of the view. More...
 
template<typename It , typename P >
void boost::gil::detail::uninitialized_fill_aux (It first, It last, const P &p, mpl::true_)
 std::uninitialized_fill for planar iterators If an exception is thrown destructs any in-place copy-constructed objects More...
 
template<typename It , typename P >
void boost::gil::detail::uninitialized_fill_aux (It first, It last, const P &p, mpl::false_)
 std::uninitialized_fill for interleaved iterators If an exception is thrown destructs any in-place copy-constructed objects More...
 
template<typename View , typename Value >
void boost::gil::uninitialized_fill_pixels (const View &img_view, const Value &val)
 std::uninitialized_fill for image views. More...
 
template<typename It >
void boost::gil::detail::default_construct_range_impl (It first, It last, mpl::true_)
 
template<typename It >
void boost::gil::detail::default_construct_range_impl (It, It, mpl::false_)
 
template<typename It >
void boost::gil::detail::default_construct_range (It first, It last)
 
template<typename It >
void boost::gil::detail::default_construct_aux (It first, It last, mpl::true_)
 uninitialized_default_construct for planar iterators More...
 
template<typename It >
void boost::gil::detail::default_construct_aux (It first, It last, mpl::false_)
 uninitialized_default_construct for interleaved iterators More...
 
template<typename View >
void boost::gil::default_construct_pixels (const View &img_view)
 Invokes the in-place default constructor on every pixel of the (uninitialized) view. More...
 
template<typename It1 , typename It2 >
void boost::gil::detail::uninitialized_copy_aux (It1 first1, It1 last1, It2 first2, mpl::true_)
 std::uninitialized_copy for pairs of planar iterators More...
 
template<typename It1 , typename It2 >
void boost::gil::detail::uninitialized_copy_aux (It1 first1, It1 last1, It2 first2, mpl::false_)
 std::uninitialized_copy for interleaved or mixed iterators More...
 
template<typename View1 , typename View2 >
void boost::gil::uninitialized_copy_pixels (const View1 &view1, const View2 &view2)
 std::uninitialized_copy for image views. More...
 
template<typename V , typename F >
boost::gil::for_each_pixel (const V &img, F fun)
 
template<typename View , typename F >
boost::gil::for_each_pixel_position (const View &img, F fun)
 
template<typename View , typename F >
void boost::gil::generate_pixels (const View &v, F fun)
 std::generate for image views More...
 
template<typename I1 , typename I2 >
bool boost::gil::equal_n (I1 i1, std::ptrdiff_t n, I2 i2)
 
template<typename Loc1 , typename Loc2 >
bool std::equal (boost::gil::iterator_from_2d< Loc1 > first, boost::gil::iterator_from_2d< Loc1 > last, boost::gil::iterator_from_2d< Loc2 > first2)
 std::equal(I1,I1,I2) with I1 and I2 being a iterator_from_2d More...
 
template<typename View1 , typename View2 >
bool boost::gil::equal_pixels (const View1 &v1, const View2 &v2)
 std::equal for image views More...
 
template<typename View1 , typename View2 , typename F >
boost::gil::transform_pixels (const View1 &src, const View2 &dst, F fun)
 std::transform for image views More...
 
template<typename View1 , typename View2 , typename View3 , typename F >
boost::gil::transform_pixels (const View1 &src1, const View2 &src2, const View3 &dst, F fun)
 transform_pixels with two sources More...
 
template<typename View1 , typename View2 , typename F >
boost::gil::transform_pixel_positions (const View1 &src, const View2 &dst, F fun)
 Like transform_pixels but passes to the function object pixel locators instead of pixel references. More...
 
template<typename View1 , typename View2 , typename View3 , typename F >
boost::gil::transform_pixel_positions (const View1 &src1, const View2 &src2, const View3 &dst, F fun)
 transform_pixel_positions with two sources More...
 

Detailed Description

Some basic STL-style algorithms when applied to image views.

Author
Lubomir Bourdev and Hailin Jin
Adobe Systems Incorporated
Date
2005-2008
Last updated on March 12, 2008