diff --git a/.appveyor.yml b/.appveyor.yml index d6bf35b02..8a9508b5d 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -82,7 +82,6 @@ before_build: - git submodule --quiet update --init libs/algorithm - git submodule --quiet update --init libs/array - git submodule --quiet update --init libs/assert - - git submodule --quiet update --init libs/bind - git submodule --quiet update --init libs/concept_check - git submodule --quiet update --init libs/config - git submodule --quiet update --init libs/core @@ -91,7 +90,6 @@ before_build: - git submodule --quiet update --init libs/function - git submodule --quiet update --init libs/integer - git submodule --quiet update --init libs/iterator - - git submodule --quiet update --init libs/lambda - git submodule --quiet update --init libs/mpl - git submodule --quiet update --init libs/numeric/conversion - git submodule --quiet update --init libs/preprocessor @@ -99,6 +97,7 @@ before_build: - git submodule --quiet update --init libs/type_traits ## Transitive - git submodule --quiet update --init libs/atomic + - git submodule --quiet update --init libs/bind - git submodule --quiet update --init libs/chrono - git submodule --quiet update --init libs/container - git submodule --quiet update --init libs/container_hash @@ -109,6 +108,7 @@ before_build: - git submodule --quiet update --init libs/fusion - git submodule --quiet update --init libs/intrusive - git submodule --quiet update --init libs/io + - git submodule --quiet update --init libs/lambda - git submodule --quiet update --init libs/math - git submodule --quiet update --init libs/move - git submodule --quiet update --init libs/optional diff --git a/.travis.yml b/.travis.yml index 64cfb16f8..db7828775 100644 --- a/.travis.yml +++ b/.travis.yml @@ -201,7 +201,6 @@ install: - git submodule --quiet update --init libs/algorithm - git submodule --quiet update --init libs/assert - git submodule --quiet update --init libs/array - - git submodule --quiet update --init libs/bind - git submodule --quiet update --init libs/concept_check - git submodule --quiet update --init libs/config - git submodule --quiet update --init libs/core @@ -210,7 +209,6 @@ install: - git submodule --quiet update --init libs/function - git submodule --quiet update --init libs/integer - git submodule --quiet update --init libs/iterator - - git submodule --quiet update --init libs/lambda - git submodule --quiet update --init libs/mpl - git submodule --quiet update --init libs/numeric/conversion - git submodule --quiet update --init libs/preprocessor @@ -218,6 +216,7 @@ install: - git submodule --quiet update --init libs/type_traits ## Transitive - git submodule --quiet update --init libs/atomic + - git submodule --quiet update --init libs/bind - git submodule --quiet update --init libs/chrono - git submodule --quiet update --init libs/container - git submodule --quiet update --init libs/container_hash @@ -228,6 +227,7 @@ install: - git submodule --quiet update --init libs/fusion - git submodule --quiet update --init libs/intrusive - git submodule --quiet update --init libs/io + - git submodule --quiet update --init libs/lambda - git submodule --quiet update --init libs/math - git submodule --quiet update --init libs/move - git submodule --quiet update --init libs/optional diff --git a/example/histogram.cpp b/example/histogram.cpp index 90129119d..b1b489642 100644 --- a/example/histogram.cpp +++ b/example/histogram.cpp @@ -16,10 +16,15 @@ using namespace boost::gil; template -void gray_image_hist(const GrayView& img_view, R& hist) { -// for_each_pixel(img_view,++lambda::var(hist)[lambda::_1]); - for (typename GrayView::iterator it=img_view.begin(); it!=img_view.end(); ++it) +void gray_image_hist(GrayView const& img_view, R& hist) +{ + for (auto it = img_view.begin(); it != img_view.end(); ++it) ++hist[*it]; + + // Alternatively, prefer the algorithm with lambda + // for_each_pixel(img_view, [&hist](gray8_pixel_t const& pixel) { + // ++hist[pixel]; + // }); } template diff --git a/include/boost/gil/extension/dynamic_image/reduce.hpp b/include/boost/gil/extension/dynamic_image/reduce.hpp index 699acb5e6..1db56c4e2 100644 --- a/include/boost/gil/extension/dynamic_image/reduce.hpp +++ b/include/boost/gil/extension/dynamic_image/reduce.hpp @@ -801,11 +801,11 @@ namespace detail { //resize_clobber_image_fnobj //image_default_construct_fnobj //fill_converted_pixels_fn - //bind(gil::detail::copy_pixels_fn(), _1, dst) - //bind(gil::detail::copy_pixels_fn(), src,_1) + //std::bind(gil::detail::copy_pixels_fn(), std::placeholders::_1, dst) + //std::bind(gil::detail::copy_pixels_fn(), src, std::placeholders::_1) - //bind(detail::copy_and_convert_pixels_fn(), _1, dst) - //bind(detail::copy_and_convert_pixels_fn(), src, _1) + //std::bind(detail::copy_and_convert_pixels_fn(), std::placeholders::_1, dst) + //std::bind(detail::copy_and_convert_pixels_fn(), src, std::placeholders::_1) //gil::detail::fill_pixels_fn(val) //detail::copy_construct_in_place_fn diff --git a/include/boost/gil/extension/dynamic_image/variant.hpp b/include/boost/gil/extension/dynamic_image/variant.hpp index d99bca38d..5629639e0 100644 --- a/include/boost/gil/extension/dynamic_image/variant.hpp +++ b/include/boost/gil/extension/dynamic_image/variant.hpp @@ -12,7 +12,6 @@ #include -#include #include #include #include diff --git a/include/boost/gil/extension/numeric/resample.hpp b/include/boost/gil/extension/numeric/resample.hpp index e2e63a11e..05028f007 100644 --- a/include/boost/gil/extension/numeric/resample.hpp +++ b/include/boost/gil/extension/numeric/resample.hpp @@ -11,8 +11,8 @@ #include #include -#include -#include +#include +#include namespace boost { namespace gil { @@ -71,16 +71,25 @@ namespace detail { /// If invoked on incompatible views, throws std::bad_cast() /// \ingroup ImageAlgorithms template -void resample_pixels(const any_image_view& src, const V2& dst, const MapFn& dst_to_src, Sampler sampler=Sampler()) { - apply_operation(src,bind(detail::resample_pixels_fn(dst_to_src,sampler), _1, dst)); +void resample_pixels(const any_image_view& src, const V2& dst, const MapFn& dst_to_src, Sampler sampler=Sampler()) +{ + apply_operation(src, std::bind( + detail::resample_pixels_fn(dst_to_src, sampler), + std::placeholders::_1, + dst)); } /// \brief resample_pixels when the destination is run-time specified /// If invoked on incompatible views, throws std::bad_cast() /// \ingroup ImageAlgorithms template -void resample_pixels(const V1& src, const any_image_view& dst, const MapFn& dst_to_src, Sampler sampler=Sampler()) { - apply_operation(dst,bind(detail::resample_pixels_fn(dst_to_src,sampler), src, _1)); +void resample_pixels(const V1& src, const any_image_view& dst, const MapFn& dst_to_src, Sampler sampler=Sampler()) +{ + using namespace std::placeholders; + apply_operation(dst, std::bind( + detail::resample_pixels_fn(dst_to_src, sampler), + src, + std::placeholders::_1)); } /// \brief resample_pixels when both the source and the destination are run-time specified diff --git a/include/boost/gil/io/base.hpp b/include/boost/gil/io/base.hpp index 6ac14cb71..4215ddf11 100644 --- a/include/boost/gil/io/base.hpp +++ b/include/boost/gil/io/base.hpp @@ -17,7 +17,6 @@ #include #include -#include #include #include diff --git a/test/image.cpp b/test/image.cpp index 45d1311ae..21a8a9618 100644 --- a/test/image.cpp +++ b/test/image.cpp @@ -14,8 +14,6 @@ #include #include -#include -#include #include #include @@ -50,10 +48,15 @@ void error_if(bool condition); //////////////////////////////////////////////////// template -void gray_image_hist(const GrayView& img_view, R& hist) { -// for_each_pixel(img_view,++lambda::var(hist)[lambda::_1]); - for (typename GrayView::iterator it=img_view.begin(); it!=img_view.end(); ++it) +void gray_image_hist(GrayView const& img_view, R& hist) +{ + for (auto it = img_view.begin(); it != img_view.end(); ++it) ++hist[*it]; + + // Alternatively, prefer the algorithm with lambda + // for_each_pixel(img_view, [&hist](gray8_pixel_t const& pixel) { + // ++hist[pixel]; + // }); } template diff --git a/test/recreate_image.cpp b/test/recreate_image.cpp index ae01b440e..3c7889012 100644 --- a/test/recreate_image.cpp +++ b/test/recreate_image.cpp @@ -11,8 +11,7 @@ #endif #include -#include -#include + #include #include