119 Commits

Author SHA1 Message Date
Andrey Semashev c63d36cf5b Added string_view::contains methods.
These methods were added in C++23.

Also updated string_view/ref tests:

- Added tests for string_view::contains.
- Added missing includes.
- Added missing std:: qualification.
- Removed tabs.
- Fixed misleading indentation (fixes gcc warnings).
- Fixed decrementing pointer before beginning of the string.

Closes https://github.com/boostorg/utility/issues/93.
2022-05-04 00:32:30 +03:00
Andrey Semashev 3f51807f24 Disabled random operators tests under UBSAN.
The tests use random input to various arithmetic and bitwise operators,
which cause undefined behavior, such as shifting by more than the left
operand capacity or signed integer overflows.
2021-09-16 02:12:41 +03:00
Marshall Clow 9c2aa8d193 Revert "Make string_{view|ref} remove_prefix and remove_suffix throw on invalid lengths. Addresses issue #73"
This reverts commit 601fc9371f.
2021-03-01 16:50:14 -08:00
Marshall Clow 601fc9371f Make string_{view|ref} remove_prefix and remove_suffix throw on invalid lengths. Addresses issue #73 2021-03-01 06:52:49 -08:00
Peter Dimov 688628f764 Add test/value_init_test3 2020-05-26 00:39:51 +03:00
Peter Dimov 25cb7aa122 Use a base class to apply the memset workaround to avoid dependency on TypeTraits 2020-05-25 05:09:36 +03:00
Peter Dimov 0ae5cebc7f Add value_init_test2.cpp, which tests the cases from value_init_workaround_test 2020-05-25 04:44:29 +03:00
Glen Fernandes 5da340a2a4 Rename BOOST_OPS_CONSTEXPR to BOOST_OPERATORS_CONSTEXPR 2020-04-12 13:03:22 -04:00
Glen Fernandes 9a4cff038b Move constexpr operators test to separate test 2020-04-12 13:03:18 -04:00
Marshall Clow 0c059a50ad Merge pull request #63 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost conf…
2020-04-12 09:49:06 -07:00
Daniel Frey bdc5b5cf3a Merge pull request #55 from tonyelewis/add-constexpr-support
Add constexpr to operators (w/ basic docs, tests)
2020-04-12 13:07:24 +02:00
Tony Lewis 7953ba56ba Update tests to run constexpr on newer MSVCs 2020-04-11 18:39:15 +01:00
Edward Diener a4752e066d Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-24 01:39:51 -04:00
Glen Fernandes 2b436d7d50 Use ostream_put from Boost.IO 2019-12-15 09:46:38 -05:00
Peter Dimov 882c9c86c4 More detabification 2019-12-12 06:00:51 +02:00
Peter Dimov c81d8e3990 Add <cstdio> for EOF; detabify, remove trailing whitespace 2019-12-12 05:57:51 +02:00
Glen Fernandes dabf53a703 Refactor stream write functionality into a standalone utility 2019-04-19 09:53:29 -04:00
Tony Lewis 6b62dcc504 Completely remove constexpr for MSVC 2018-12-24 07:02:31 +00:00
Tony Lewis 91ebdcd1dd Remove C++14 constexpr due to MSVC/GCC problems 2018-12-22 15:52:13 +00:00
Tony Lewis e8d2b2ba76 Add constexpr to operators (w/ basic docs, tests) 2018-12-21 10:28:22 +00:00
Marshall Clow db05c11f50 Fix string_ref::find/rfind's handling of empty strings. Thanks to 'reluctantbugreporter' for the bug report 2018-09-14 09:48:13 -07:00
Glen Fernandes fc135e0d72 Avoid inheritance for final types in compressed_pair 2018-09-09 17:34:22 -04:00
Dimitrij Mijoski e2d115db97 Use hash_fwd.hpp in string_view for more lightweight dependencies. 2018-04-20 23:18:31 +02:00
Dimitrij Mijoski 6ad6bc005c Implement boost hash for string_view 2018-04-20 13:42:07 +02:00
Peter Dimov 426836d860 Remove shared_iterator files (they're in Iterator now) 2017-12-24 00:05:50 +02:00
Glen Fernandes f8a243bcff Utility tests should use lightweight_test instead of test 2017-12-23 13:00:33 -05:00
Peter Dimov c88936800d Remove dependency on Random in operators_test.cpp 2017-12-23 06:19:43 +02:00
Peter Dimov 96fbce5759 Remove use of shared_ptr in test/value_init_test.cpp 2017-12-23 04:44:29 +02:00
Peter Dimov 51ba9f1b45 Add one more case to value_init_workaround_test 2017-09-24 12:47:05 +03:00
Andrey Semashev 5cef1403b0 Merge pull request #33 from morinmorin/fix_no_expr_sfinae
result_of<F&(…)> fails on MSVC-12 if F is a function pointer
2017-09-23 21:59:06 +03:00
morinmorin 81ce4693f6 Add tests for result_of<F&(...)> in C++11. 2017-09-20 23:44:35 +09:00
Andrey Semashev 2ed5ee9588 Moved numeric_traits_test.cpp to Boost.Detail. 2017-09-20 01:42:15 +03:00
Andrey Semashev 88c36c1941 Remove generator iterator test and docs as these were moved to Boost.Iterator. 2017-08-28 20:41:11 +03:00
Andrey Semashev 62b39548be Moved next/prior to Boost.Iterator. 2017-08-26 17:25:14 +03:00
Brian Minard 592382dc61 Add test cases for std::reverse_iterator 2017-07-09 03:10:10 +03:00
Peter Dimov bfdcce0f97 Move test files to test/ 2017-05-29 19:10:46 +03:00
Marshall Clow 330b49d602 Mark comparison operators for string_view as constexpr; add tests. Reference: https://svn.boost.org/trac/boost/ticket/12896 2017-05-03 19:58:02 -07:00
Marshall Clow 6c4ab93573 Revert change disallowing construction of string_view/string_ref from rvalue string 2017-03-28 15:17:09 +02:00
Marshall Clow 00f02167e3 Add tests to ensure that string_view|ref from rvalue fails (whenever it can) 2017-02-13 10:25:04 -08:00
zerotypos-found 816607e212 Remove tabs and Non-ASCII characters. 2016-11-15 11:59:51 +09:00
Andrey Semashev febca584d9 Removed -u command line option for the compressed_pair_test as this option is not recognized by Boost.Test (and presumably never was). This fixes the test execution failure. 2016-09-03 00:25:51 +03:00
Andrey Semashev 3d853b0e83 Reworked to_string test to verify the overload with a custom allocator even when explicit conversion operators are not supported. Made the custom allocator more standard-compliant. 2016-09-01 22:42:29 +03:00
gnaggnoyil e5932ebb08 fix compile error on basic_string_view::to_string when Allocator is user-defined 2016-09-01 21:56:20 +03:00
Marshall Clow 4313bfc323 Revert "Remove the 'basic_string_ref template; use 'basic_string_view' instead. Keep the string_ref, etc typedefs around, though"
This reverts commit 8ab8e36dcf.
2016-03-07 08:45:25 -08:00
Marshall Clow 8ab8e36dcf Remove the 'basic_string_ref template; use 'basic_string_view' instead. Keep the string_ref, etc typedefs around, though 2016-02-17 11:32:16 -08:00
Marshall Clow 1caa745dd7 Introduce new 'string_view' to match the one in the standard. Step #2 (up next) is to retire string_ref in favor of string_view 2015-12-21 11:39:59 -08:00
akumta fa8301a56a Update string_ref_test2.cpp
For ticket# 10838
2015-02-25 10:49:14 -08:00
Andrey Semashev 651a869d4f Reworked next() and prior() taking the distance arguments.
The new version should provide the expected behavior in the case (prior(v.end(), v.size()) == v.begin()). It should also work with integers now, as was originally intended by David Abrahams. Added tests to verify these new use cases.
2014-06-24 01:05:32 +04:00
Andrey Semashev 2fa70612bb Removed docs and tests of the components moved to Boost.Core. Added links and redirections to the docs in Boost.Core. 2014-06-12 21:31:37 +04:00
K-ballo 51e482edfe Added base_from_member specialization for members of lvalue-reference type 2014-06-11 18:55:12 -03:00