From d322e53a4bec867ef7e36b74f85828c8fc38b150 Mon Sep 17 00:00:00 2001 From: Lingzhu Xiang Date: Tue, 12 Dec 2017 14:02:56 -0500 Subject: [PATCH] Remove usage of std::bind It is deprecated after C++11. --- include/internal/libfreenect2/threading.h | 1 - src/frame_listener_impl.cpp | 2 +- src/logging.cpp | 6 ++++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/internal/libfreenect2/threading.h b/include/internal/libfreenect2/threading.h index 3148f96db..8527cc1aa 100644 --- a/include/internal/libfreenect2/threading.h +++ b/include/internal/libfreenect2/threading.h @@ -37,7 +37,6 @@ #include #include #include -#include #define WAIT_CONDITION(var, mutex, lock) var.wait(lock); diff --git a/src/frame_listener_impl.cpp b/src/frame_listener_impl.cpp index f4f8a9716..45224e878 100644 --- a/src/frame_listener_impl.cpp +++ b/src/frame_listener_impl.cpp @@ -109,7 +109,7 @@ bool SyncMultiFrameListener::waitForNewFrame(FrameMap &frame, int milliseconds) #ifdef LIBFREENECT2_THREADING_STDLIB libfreenect2::unique_lock l(impl_->mutex_); - auto predicate = std::bind(&SyncMultiFrameListenerImpl::hasNewFrame, impl_); + auto predicate = [this]{ return impl_->hasNewFrame(); }; if(impl_->condition_.wait_for(l, std::chrono::milliseconds(milliseconds), predicate)) { diff --git a/src/logging.cpp b/src/logging.cpp index 7eee8f5dc..71a113516 100644 --- a/src/logging.cpp +++ b/src/logging.cpp @@ -35,7 +35,6 @@ #ifdef LIBFREENECT2_WITH_PROFILING #include #include -#include #include #endif @@ -276,7 +275,10 @@ class WithPerfLoggingImpl: public Timer size_t n = v.size(); double mean = sum / n; std::vector diff(n); - std::transform(v.begin(), v.end(), diff.begin(), std::bind2nd(std::minus(), mean)); + for (size_t i = 0; i < n; ++i) + { + diff[i] = v[i] - mean; + } double sqsum = std::inner_product(diff.begin(), diff.end(), diff.begin(), 0.0); double std = std::sqrt(sqsum / (n-1));