diff options
Diffstat (limited to 'test/std/utilities/function.objects/bind/func.bind/func.bind.place')
| -rw-r--r-- | test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp b/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp index 246186040c56..68986ac1aeb3 100644 --- a/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp +++ b/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp @@ -10,10 +10,14 @@  // <functional>  // placeholders +// The placeholders are constexpr in C++17 and beyond. +// libc++ provides constexpr placeholders in C++11 and beyond.  #include <functional>  #include <type_traits> +#include "test_macros.h" +  template <class T>  void  test(const T& t) @@ -28,6 +32,30 @@ test(const T& t)      static_assert(std::is_nothrow_move_constructible<T>::value, "");  } +#if TEST_STD_VER >= 11 +constexpr decltype(std::placeholders::_1)  default1{}; +constexpr decltype(std::placeholders::_2)  default2{}; +constexpr decltype(std::placeholders::_3)  default3{}; +constexpr decltype(std::placeholders::_4)  default4{}; +constexpr decltype(std::placeholders::_5)  default5{}; +constexpr decltype(std::placeholders::_6)  default6{}; +constexpr decltype(std::placeholders::_7)  default7{}; +constexpr decltype(std::placeholders::_8)  default8{}; +constexpr decltype(std::placeholders::_9)  default9{}; +constexpr decltype(std::placeholders::_10) default10{}; + +constexpr decltype(std::placeholders::_1)  cp1 = std::placeholders::_1; +constexpr decltype(std::placeholders::_2)  cp2 = std::placeholders::_2; +constexpr decltype(std::placeholders::_3)  cp3 = std::placeholders::_3; +constexpr decltype(std::placeholders::_4)  cp4 = std::placeholders::_4; +constexpr decltype(std::placeholders::_5)  cp5 = std::placeholders::_5; +constexpr decltype(std::placeholders::_6)  cp6 = std::placeholders::_6; +constexpr decltype(std::placeholders::_7)  cp7 = std::placeholders::_7; +constexpr decltype(std::placeholders::_8)  cp8 = std::placeholders::_8; +constexpr decltype(std::placeholders::_9)  cp9 = std::placeholders::_9; +constexpr decltype(std::placeholders::_10) cp10 = std::placeholders::_10; +#endif // TEST_STD_VER >= 11 +  int main()  {      test(std::placeholders::_1);  | 
