diff options
Diffstat (limited to 'libcxx/test/utilities/function.objects/func.memfn')
6 files changed, 0 insertions, 391 deletions
diff --git a/libcxx/test/utilities/function.objects/func.memfn/member_data.fail.cpp b/libcxx/test/utilities/function.objects/func.memfn/member_data.fail.cpp deleted file mode 100644 index 5e748c93b9e..00000000000 --- a/libcxx/test/utilities/function.objects/func.memfn/member_data.fail.cpp +++ /dev/null @@ -1,42 +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> unspecified mem_fn(R T::* pm); - -#include <functional> -#include <cassert> - -struct A -{ - double data_; -}; - -template <class F> -void -test(F f) -{ - { - A a; - f(a) = 5; - assert(a.data_ == 5); - A* ap = &a; - f(ap) = 6; - assert(a.data_ == 6); - const A* cap = ap; - assert(f(cap) == f(ap)); - f(cap) = 7; - } -} - -int main() -{ - test(std::mem_fn(&A::data_)); -} diff --git a/libcxx/test/utilities/function.objects/func.memfn/member_data.pass.cpp b/libcxx/test/utilities/function.objects/func.memfn/member_data.pass.cpp deleted file mode 100644 index dff211c6057..00000000000 --- a/libcxx/test/utilities/function.objects/func.memfn/member_data.pass.cpp +++ /dev/null @@ -1,43 +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> unspecified mem_fn(R T::* pm); - -#include <functional> -#include <cassert> - -struct A -{ - double data_; -}; - -template <class F> -void -test(F f) -{ - { - A a; - f(a) = 5; - assert(a.data_ == 5); - A* ap = &a; - f(ap) = 6; - assert(a.data_ == 6); - const A* cap = ap; - assert(f(cap) == f(ap)); - const F& cf = f; - assert(cf(ap) == f(ap)); - } -} - -int main() -{ - test(std::mem_fn(&A::data_)); -} 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)); -} diff --git a/libcxx/test/utilities/function.objects/func.memfn/member_function_const.pass.cpp b/libcxx/test/utilities/function.objects/func.memfn/member_function_const.pass.cpp deleted file mode 100644 index be22443e954..00000000000 --- a/libcxx/test/utilities/function.objects/func.memfn/member_function_const.pass.cpp +++ /dev/null @@ -1,78 +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...) const); - -#include <functional> -#include <cassert> - -struct A -{ - char test0() const {return 'a';} - char test1(int) const {return 'b';} - char test2(int, double) const {return 'c';} -}; - -template <class F> -void -test0(F f) -{ - { - A a; - assert(f(a) == 'a'); - A* ap = &a; - assert(f(ap) == 'a'); - const A* cap = &a; - assert(f(cap) == '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 A* cap = &a; - assert(f(cap, 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 A* cap = &a; - assert(f(cap, 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)); -} diff --git a/libcxx/test/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp b/libcxx/test/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp deleted file mode 100644 index 329ac16a86d..00000000000 --- a/libcxx/test/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp +++ /dev/null @@ -1,78 +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...) const volatile); - -#include <functional> -#include <cassert> - -struct A -{ - char test0() const volatile {return 'a';} - char test1(int) const volatile {return 'b';} - char test2(int, double) const volatile {return 'c';} -}; - -template <class F> -void -test0(F f) -{ - { - A a; - assert(f(a) == 'a'); - A* ap = &a; - assert(f(ap) == 'a'); - const volatile A* cap = &a; - assert(f(cap) == '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 volatile A* cap = &a; - assert(f(cap, 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 volatile A* cap = &a; - assert(f(cap, 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)); -} diff --git a/libcxx/test/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp b/libcxx/test/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp deleted file mode 100644 index 743ded9944a..00000000000 --- a/libcxx/test/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp +++ /dev/null @@ -1,78 +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...) volatile); - -#include <functional> -#include <cassert> - -struct A -{ - char test0() volatile {return 'a';} - char test1(int) volatile {return 'b';} - char test2(int, double) volatile {return 'c';} -}; - -template <class F> -void -test0(F f) -{ - { - A a; - assert(f(a) == 'a'); - A* ap = &a; - assert(f(ap) == 'a'); - volatile A* cap = &a; - assert(f(cap) == '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'); - volatile A* cap = &a; - assert(f(cap, 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'); - volatile A* cap = &a; - assert(f(cap, 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)); -} |