summaryrefslogtreecommitdiffstats
path: root/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2010-08-22 00:59:46 +0000
committerHoward Hinnant <hhinnant@apple.com>2010-08-22 00:59:46 +0000
commit94b2dd0998230c758abd92c99d3700c971f7a31a (patch)
tree1b9f66ba0b4f8fd99fc02a112d4b7a30c4afe0f6 /libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp
parentd9c6c0b583ac1f1efeec3db571a1028a3c9b7a99 (diff)
downloadbcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.tar.gz
bcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.zip
Fixing whitespace problems
llvm-svn: 111767
Diffstat (limited to 'libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp')
-rw-r--r--libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp67
1 files changed, 66 insertions, 1 deletions
diff --git a/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp b/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp
index 5995c618c74..89016a52346 100644
--- a/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp
+++ b/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp
@@ -1 +1,66 @@
-//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // <functional> // template<Returnable R, class T, CopyConstructible... Args> // unspecified mem_fn(R (T::* pm)(Args...)); #include <functional> #include <cassert> struct A { char test0() {return 'a';} char test1(int) {return 'b';} char test2(int, double) {return 'c';} }; template <class F> void test0(F f) { { A a; assert(f(a) == 'a'); A* ap = &a; assert(f(ap) == 'a'); } } template <class F> void test1(F f) { { A a; assert(f(a, 1) == 'b'); A* ap = &a; assert(f(ap, 2) == 'b'); } } template <class F> void test2(F f) { { A a; assert(f(a, 1, 2) == 'c'); A* ap = &a; assert(f(ap, 2, 3.5) == 'c'); } } int main() { test0(std::mem_fn(&A::test0)); test1(std::mem_fn(&A::test1)); test2(std::mem_fn(&A::test2)); } \ No newline at end of file
+//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <functional>
+
+// template<Returnable R, class T, CopyConstructible... Args>
+// unspecified mem_fn(R (T::* pm)(Args...));
+
+#include <functional>
+#include <cassert>
+
+struct A
+{
+ char test0() {return 'a';}
+ char test1(int) {return 'b';}
+ char test2(int, double) {return 'c';}
+};
+
+template <class F>
+void
+test0(F f)
+{
+ {
+ A a;
+ assert(f(a) == 'a');
+ A* ap = &a;
+ assert(f(ap) == 'a');
+ }
+}
+
+template <class F>
+void
+test1(F f)
+{
+ {
+ A a;
+ assert(f(a, 1) == 'b');
+ A* ap = &a;
+ assert(f(ap, 2) == 'b');
+ }
+}
+
+template <class F>
+void
+test2(F f)
+{
+ {
+ A a;
+ assert(f(a, 1, 2) == 'c');
+ A* ap = &a;
+ assert(f(ap, 2, 3.5) == 'c');
+ }
+}
+
+int main()
+{
+ test0(std::mem_fn(&A::test0));
+ test1(std::mem_fn(&A::test1));
+ test2(std::mem_fn(&A::test2));
+}
OpenPOWER on IntegriCloud