diff options
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.cpp | 72 |
1 files changed, 0 insertions, 72 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 deleted file mode 100644 index 4096bd81442..00000000000 --- a/libcxx/test/utilities/function.objects/func.memfn/member_function.pass.cpp +++ /dev/null @@ -1,72 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. 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'); - const F& cf = f; - assert(cf(ap) == 'a'); - } -} - -template <class F> -void -test1(F f) -{ - { - A a; - assert(f(a, 1) == 'b'); - A* ap = &a; - assert(f(ap, 2) == 'b'); - const F& cf = f; - assert(cf(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'); - const F& cf = f; - assert(cf(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)); -} |