Add tests to check the typedefs from the result of std::owner_less
authorMarshall Clow <mclow.lists@gmail.com>
Wed, 7 Jan 2015 20:54:51 +0000 (20:54 +0000)
committerMarshall Clow <mclow.lists@gmail.com>
Wed, 7 Jan 2015 20:54:51 +0000 (20:54 +0000)
llvm-svn: 225381

libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp

index db2ed3b..d091ae9 100644 (file)
@@ -47,6 +47,10 @@ int main()
     typedef std::owner_less<std::shared_ptr<int> > CS;
     CS cs;
 
+    static_assert((std::is_same<std::shared_ptr<int>, CS::first_argument_type>::value), "" );
+    static_assert((std::is_same<std::shared_ptr<int>, CS::second_argument_type>::value), "" );
+    static_assert((std::is_same<bool, CS::result_type>::value), "" );
+
     assert(!cs(p1, p2));
     assert(!cs(p2, p1));
     assert(cs(p1 ,p3) || cs(p3, p1));
@@ -61,6 +65,10 @@ int main()
     typedef std::owner_less<std::weak_ptr<int> > CS;
     CS cs;
 
+    static_assert((std::is_same<std::weak_ptr<int>, CS::first_argument_type>::value), "" );
+    static_assert((std::is_same<std::weak_ptr<int>, CS::second_argument_type>::value), "" );
+    static_assert((std::is_same<bool, CS::result_type>::value), "" );
+
     assert(!cs(w1, w2));
     assert(!cs(w2, w1));
     assert(cs(w1, w3) || cs(w3, w1));