You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2013/12/20 01:32:01 UTC
[4/7] git commit: Added equality comparator for Option vs T.
Added equality comparator for Option<T> vs T.
From: Jiang Yan Xu <ya...@jxu.me>
Review: https://reviews.apache.org/r/16332
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/0764b7e7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/0764b7e7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/0764b7e7
Branch: refs/heads/master
Commit: 0764b7e752b0ed4075af4ad44e10e6c05f3d9979
Parents: 1c12352
Author: Benjamin Mahler <bm...@twitter.com>
Authored: Thu Dec 19 16:08:07 2013 -0800
Committer: Benjamin Mahler <bm...@twitter.com>
Committed: Thu Dec 19 16:08:07 2013 -0800
----------------------------------------------------------------------
.../3rdparty/stout/include/stout/option.hpp | 10 +++++++++
.../3rdparty/stout/tests/option_tests.cpp | 22 ++++++++++++++++++++
2 files changed, 32 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/0764b7e7/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp
index f12c0ca..89b7fc3 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/option.hpp
@@ -75,6 +75,16 @@ public:
return !operator == (that);
}
+ bool operator == (const T& that) const
+ {
+ return state == SOME && *t == that;
+ }
+
+ bool operator != (const T& that) const
+ {
+ return !operator == (that);
+ }
+
bool isSome() const { return state == SOME; }
bool isNone() const { return state == NONE; }
http://git-wip-us.apache.org/repos/asf/mesos/blob/0764b7e7/3rdparty/libprocess/3rdparty/stout/tests/option_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/option_tests.cpp b/3rdparty/libprocess/3rdparty/stout/tests/option_tests.cpp
index bda0610..7ae3b8f 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/option_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/option_tests.cpp
@@ -68,3 +68,25 @@ TEST(OptionTest, Max)
ASSERT_SOME(result);
EXPECT_EQ(20, result.get());
}
+
+
+TEST(OptionTest, Comparison)
+{
+ Option<int> none = None();
+ EXPECT_NE(none, 1);
+ EXPECT_FALSE(none == 1);
+
+ Option<int> one = 1;
+ EXPECT_EQ(one, 1);
+ EXPECT_NE(none, one);
+ EXPECT_FALSE(none == one);
+ EXPECT_EQ(one, Option<int>::some(1));
+
+ Option<int> two = 2;
+ EXPECT_NE(one, two);
+
+ Option<Option<int> > someNone = Option<Option<int> >::some(None());
+ Option<Option<int> > noneNone = Option<Option<int> >::none();
+ EXPECT_NE(someNone, noneNone);
+ EXPECT_NE(noneNone, someNone);
+}