From: Lucian Grijincu Date: Wed, 16 Sep 2015 18:37:49 +0000 (-0700) Subject: folly: gen: remove static member X-Git-Tag: deprecate-dynamic-initializer~395 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=21bbc9a92ad4d0368212c00af8afd1f071a19500;p=folly.git folly: gen: remove static member Summary: there's no need for this static member, but it does get generated. We're only curious about it's type. Replace with Meyer's singleton to get the same effect. Reviewed By: @ddrcoder, @yfeldblum Differential Revision: D2446131 --- diff --git a/folly/gen/Base.h b/folly/gen/Base.h index 6e661f16..38fba4f7 100644 --- a/folly/gen/Base.h +++ b/folly/gen/Base.h @@ -272,13 +272,9 @@ struct FBounded; */ template struct ValueTypeOfRange { - private: - static Container container_; public: - typedef decltype(*std::begin(container_)) - RefType; - typedef typename std::decay::type - StorageType; + using RefType = decltype(*std::begin(std::declval())); + using StorageType = typename std::decay::type; }; diff --git a/folly/gen/Combine-inl.h b/folly/gen/Combine-inl.h index b36c8c71..46386bdd 100644 --- a/folly/gen/Combine-inl.h +++ b/folly/gen/Combine-inl.h @@ -203,8 +203,6 @@ class MergeTuples { } // namespace detail -static const detail::Map tuple_flatten{}; - // TODO(mcurtiss): support zip() for N>1 operands. Because of variadic problems, // this might not be easily possible until gcc4.8 is available. template gTupleFlatten{}; + auto even = [](int i) -> bool { return i % 2 == 0; }; auto odd = [](int i) -> bool { return i % 2 == 1; }; @@ -118,7 +121,7 @@ TEST(CombineGen, TupleFlatten) { EXPECT_EQ(std::get<1>(zipped1[0]), std::make_tuple('A')); auto zipped2 = from(zipped1) - | tuple_flatten + | gTupleFlatten | assert_type&&>() | as(); ASSERT_EQ(zipped2.size(), 3); @@ -126,7 +129,7 @@ TEST(CombineGen, TupleFlatten) { auto zipped3 = from(charTupleVec) | zip(intStringTupleVec) - | tuple_flatten + | gTupleFlatten | assert_type&&>() | as(); ASSERT_EQ(zipped3.size(), 3); @@ -134,7 +137,7 @@ TEST(CombineGen, TupleFlatten) { auto zipped4 = from(intStringTupleVec) | zip(doubleVec) - | tuple_flatten + | gTupleFlatten | assert_type&&>() | as(); ASSERT_EQ(zipped4.size(), 3); @@ -143,7 +146,7 @@ TEST(CombineGen, TupleFlatten) { auto zipped5 = from(doubleVec) | zip(doubleVec) | assert_type>() - | tuple_flatten // essentially a no-op + | gTupleFlatten // essentially a no-op | assert_type&&>() | as(); ASSERT_EQ(zipped5.size(), 5); @@ -151,9 +154,9 @@ TEST(CombineGen, TupleFlatten) { auto zipped6 = from(intStringTupleVec) | zip(charTupleVec) - | tuple_flatten + | gTupleFlatten | zip(doubleVec) - | tuple_flatten + | gTupleFlatten | assert_type&&>() | as(); ASSERT_EQ(zipped6.size(), 3);