value.cc 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // { dg-do run { target c++11 } }
  2. // { dg-timeout-factor 2 }
  3. // 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
  4. //
  5. // Copyright (C) 2010-2022 Free Software Foundation, Inc.
  6. //
  7. // This file is part of the GNU ISO C++ Library. This library is free
  8. // software; you can redistribute it and/or modify it under the
  9. // terms of the GNU General Public License as published by the
  10. // Free Software Foundation; either version 3, or (at your option)
  11. // any later version.
  12. // This library is distributed in the hope that it will be useful,
  13. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. // GNU General Public License for more details.
  16. // You should have received a copy of the GNU General Public License along
  17. // with this library; see the file COPYING3. If not see
  18. // <http://www.gnu.org/licenses/>.
  19. // [28.7] class template regex_traits value() function
  20. #include <regex>
  21. #include <testsuite_hooks.h>
  22. // Tests the value() function of the regex_traits<char> class.
  23. void test01()
  24. {
  25. std::regex_traits<char> t;
  26. VERIFY( t.value('7', 8) == 7 );
  27. VERIFY( t.value('7', 10) == 7 );
  28. VERIFY( t.value('7', 16) == 7 );
  29. VERIFY( t.value('9', 8) == -1 );
  30. VERIFY( t.value('9', 10) == 9 );
  31. VERIFY( t.value('9', 16) == 9 );
  32. VERIFY( t.value('d', 8) == -1 );
  33. VERIFY( t.value('d', 10) == -1 );
  34. VERIFY( t.value('d', 16) == 13 );
  35. }
  36. int
  37. main()
  38. {
  39. test01();
  40. return 0;
  41. }