Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / test / doc / testing_tools / boost_test_string_comparison.qbk
1 [/
2  / Copyright (c) 2015 Boost development team
3  /
4  / Distributed under the Boost Software License, Version 1.0. (See accompanying
5  / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  /]
7
8
9 [section:strings Strings and C-strings comparison]
10 In the general case, pointers are compared using their value. However when type of the the pointers are `char*` or `wchar_t*`,
11 __BOOST_TEST__ promotes them as null terminated `char` arrays and string comparison is used instead.
12 `std::string` (or any `std::basic_string`) and `std::string_view` (or any `std::basic_string_view`) are eligible for string comparison.
13
14 String comparison can be used only if the operands to compare in __BOOST_TEST__ can both be considered as strings type.
15
16 [tip In this form, the comparison method and reporting can be overridden an additional argument to __BOOST_TEST__.
17  See the [link boost_test.testing_tools.extended_comparison.collections collection comparison] section for more details, in particular
18  `boost::test_tools::per_element()` and `boost::test_tools::lexicographic()` modifiers.]
19
20 [bt_example boost_test_string..BOOST_TEST string comparison..run-fail]
21
22 [note `std::string_view` support added in Boost.Test [link ref_CHANGE_LOG_3_12 Boost 1.72].
23  ]
24
25 [endsect]