summaryrefslogtreecommitdiffstats
path: root/libcxx/test/utilities/function.objects/function.pointer.adaptors
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/utilities/function.objects/function.pointer.adaptors')
-rw-r--r--libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_binary_function.pass.cpp1
-rw-r--r--libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_unary_function.pass.cpp1
-rw-r--r--libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun1.pass.cpp1
-rw-r--r--libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun2.pass.cpp1
4 files changed, 4 insertions, 0 deletions
diff --git a/libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_binary_function.pass.cpp b/libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_binary_function.pass.cpp
new file mode 100644
index 00000000000..f3f2c0a7297
--- /dev/null
+++ b/libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_binary_function.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // <functional> // pointer_to_binary_function #include <functional> #include <type_traits> #include <cassert> double binary_f(int i, short j) {return i - j + .75;} int main() { typedef std::pointer_to_binary_function<int, short, double> F; static_assert((std::is_base_of<std::binary_function<int, short, double>, F>::value), ""); const F f(binary_f); assert(f(36, 27) == 9.75); } \ No newline at end of file
diff --git a/libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_unary_function.pass.cpp b/libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_unary_function.pass.cpp
new file mode 100644
index 00000000000..70a9cebc973
--- /dev/null
+++ b/libcxx/test/utilities/function.objects/function.pointer.adaptors/pointer_to_unary_function.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // <functional> // pointer_to_unary_function #include <functional> #include <type_traits> #include <cassert> double unary_f(int i) {return 0.5 - i;} int main() { typedef std::pointer_to_unary_function<int, double> F; static_assert((std::is_base_of<std::unary_function<int, double>, F>::value), ""); const F f(unary_f); assert(f(36) == -35.5); } \ No newline at end of file
diff --git a/libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun1.pass.cpp b/libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun1.pass.cpp
new file mode 100644
index 00000000000..4f377ef17ea
--- /dev/null
+++ b/libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun1.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // <functional> // template <CopyConstructible Arg, Returnable Result> // pointer_to_unary_function<Arg, Result> // ptr_fun(Result (*f)(Arg)); #include <functional> #include <type_traits> #include <cassert> double unary_f(int i) {return 0.5 - i;} int main() { assert(std::ptr_fun(unary_f)(36) == -35.5); } \ No newline at end of file
diff --git a/libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun2.pass.cpp b/libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun2.pass.cpp
new file mode 100644
index 00000000000..93c6376efba
--- /dev/null
+++ b/libcxx/test/utilities/function.objects/function.pointer.adaptors/ptr_fun2.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // <functional> // template <CopyConstructible Arg1, CopyConstructible Arg2, Returnable Result> // pointer_to_binary_function<Arg1,Arg2,Result> // ptr_fun(Result (*f)(Arg1, Arg2)); #include <functional> #include <type_traits> #include <cassert> double binary_f(int i, short j) {return i - j + .75;} int main() { assert(std::ptr_fun(binary_f)(36, 27) == 9.75); } \ No newline at end of file
OpenPOWER on IntegriCloud