From b59e94cebfb5e413d153b30a2dc342f44ed005d1 Mon Sep 17 00:00:00 2001 From: Davis King <davis@dlib.net> Date: Sun, 10 Jan 2010 22:00:11 +0000 Subject: [PATCH] Fixed potential compile time bugs in the comparison operators for futures. --HG-- extra : convert_revision : svn%3Afdd8eb12-d10e-0410-9acb-85c331704f74/trunk%403381 --- dlib/threads/thread_pool_extension.h | 24 +++++++++---------- dlib/threads/thread_pool_extension_abstract.h | 12 +++++----- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/dlib/threads/thread_pool_extension.h b/dlib/threads/thread_pool_extension.h index 5907b9fa..3574adda 100644 --- a/dlib/threads/thread_pool_extension.h +++ b/dlib/threads/thread_pool_extension.h @@ -109,18 +109,18 @@ namespace dlib template <typename T> bool operator< (const future<T>& a, const future<T>& b) { return a.get() < b.get(); } template <typename T> bool operator> (const future<T>& a, const future<T>& b) { return a.get() > b.get(); } - template <typename T> bool operator== (const future<T>& a, const T& b) { return a.get() == b; } - template <typename T> bool operator== (const T& a, const future<T>& b) { return a.get() == b; } - template <typename T> bool operator!= (const future<T>& a, const T& b) { return a.get() != b; } - template <typename T> bool operator!= (const T& a, const future<T>& b) { return a.get() != b; } - template <typename T> bool operator<= (const future<T>& a, const T& b) { return a.get() <= b; } - template <typename T> bool operator<= (const T& a, const future<T>& b) { return a.get() <= b; } - template <typename T> bool operator>= (const future<T>& a, const T& b) { return a.get() >= b; } - template <typename T> bool operator>= (const T& a, const future<T>& b) { return a.get() >= b; } - template <typename T> bool operator< (const future<T>& a, const T& b) { return a.get() < b; } - template <typename T> bool operator< (const T& a, const future<T>& b) { return a.get() < b; } - template <typename T> bool operator> (const future<T>& a, const T& b) { return a.get() > b; } - template <typename T> bool operator> (const T& a, const future<T>& b) { return a.get() > b; } + template <typename T> bool operator== (const future<T>& a, const T& b) { return a.get() == b; } + template <typename T> bool operator== (const T& a, const future<T>& b) { return a == b.get(); } + template <typename T> bool operator!= (const future<T>& a, const T& b) { return a.get() != b; } + template <typename T> bool operator!= (const T& a, const future<T>& b) { return a != b.get(); } + template <typename T> bool operator<= (const future<T>& a, const T& b) { return a.get() <= b; } + template <typename T> bool operator<= (const T& a, const future<T>& b) { return a <= b.get(); } + template <typename T> bool operator>= (const future<T>& a, const T& b) { return a.get() >= b; } + template <typename T> bool operator>= (const T& a, const future<T>& b) { return a >= b.get(); } + template <typename T> bool operator< (const future<T>& a, const T& b) { return a.get() < b; } + template <typename T> bool operator< (const T& a, const future<T>& b) { return a < b.get(); } + template <typename T> bool operator> (const future<T>& a, const T& b) { return a.get() > b; } + template <typename T> bool operator> (const T& a, const future<T>& b) { return a > b.get(); } // ---------------------------------------------------------------------------------------- diff --git a/dlib/threads/thread_pool_extension_abstract.h b/dlib/threads/thread_pool_extension_abstract.h index ff6da1ba..46c2367d 100644 --- a/dlib/threads/thread_pool_extension_abstract.h +++ b/dlib/threads/thread_pool_extension_abstract.h @@ -190,17 +190,17 @@ namespace dlib template <typename T> bool operator> (const future<T>& a, const future<T>& b) { return a.get() > b.get(); } template <typename T> bool operator== (const future<T>& a, const T& b) { return a.get() == b; } - template <typename T> bool operator== (const T& a, const future<T>& b) { return a.get() == b; } + template <typename T> bool operator== (const T& a, const future<T>& b) { return a == b.get(); } template <typename T> bool operator!= (const future<T>& a, const T& b) { return a.get() != b; } - template <typename T> bool operator!= (const T& a, const future<T>& b) { return a.get() != b; } + template <typename T> bool operator!= (const T& a, const future<T>& b) { return a != b.get(); } template <typename T> bool operator<= (const future<T>& a, const T& b) { return a.get() <= b; } - template <typename T> bool operator<= (const T& a, const future<T>& b) { return a.get() <= b; } + template <typename T> bool operator<= (const T& a, const future<T>& b) { return a <= b.get(); } template <typename T> bool operator>= (const future<T>& a, const T& b) { return a.get() >= b; } - template <typename T> bool operator>= (const T& a, const future<T>& b) { return a.get() >= b; } + template <typename T> bool operator>= (const T& a, const future<T>& b) { return a >= b.get(); } template <typename T> bool operator< (const future<T>& a, const T& b) { return a.get() < b; } - template <typename T> bool operator< (const T& a, const future<T>& b) { return a.get() < b; } + template <typename T> bool operator< (const T& a, const future<T>& b) { return a < b.get(); } template <typename T> bool operator> (const future<T>& a, const T& b) { return a.get() > b; } - template <typename T> bool operator> (const T& a, const future<T>& b) { return a.get() > b; } + template <typename T> bool operator> (const T& a, const future<T>& b) { return a > b.get(); } // ---------------------------------------------------------------------------------------- -- 2.18.0