diff --git a/doc/is_palindrome.qbk b/doc/is_palindrome.qbk index d1477a2..928de6f 100644 --- a/doc/is_palindrome.qbk +++ b/doc/is_palindrome.qbk @@ -45,7 +45,9 @@ Given the containers: const std::list empty, const std::vector singleElement{'z'}, int oddNonPalindrome[] = {3,2,2}, -const int evenPalindrome[] = {1,2,2,1}, then +const int oddPalindrome[] = {1,2,3,2,1}, +const int evenPalindrome[] = {1,2,2,1}, +int evenNonPalindrome[] = {1,4,8,8}, then `` is_palindrome(empty)) --> true //empty range @@ -54,7 +56,9 @@ is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome))) --> fal is_palindrome(std::begin(evenPalindrome), std::end(evenPalindrome))) --> true is_palindrome(empty.begin(), empty.end(), functorComparator())) --> true //empty range is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome), funcComparator)) --> false -is_palindrome(evenPalindrome, std::equal_to())) --> true +is_palindrome(std::begin(oddPalindrome), std::end(oddPalindrome)) --> true +is_palindrome(evenPalindrome, std::equal_to())) --> true +is_palindrome(std::begin(evenNonPalindrome), std::end(evenNonPalindrome)) --> false `` [heading Iterator Requirements] diff --git a/test/is_palindrome_test.cpp b/test/is_palindrome_test.cpp index ed7b1c4..b9279c9 100644 --- a/test/is_palindrome_test.cpp +++ b/test/is_palindrome_test.cpp @@ -44,22 +44,22 @@ void test_is_palindrome() const std::list empty; const std::vector singleElement{'z'}; int oddNonPalindrome[] = {3,2,2}; + const int oddPalindrome[] = {1,2,3,2,1}; const int evenPalindrome[] = {1,2,2,1}; + int evenNonPalindrome[] = {1,4,8,8}; // Test a default operator== BOOST_CHECK ( ba::is_palindrome(empty)); BOOST_CHECK ( ba::is_palindrome(singleElement)); BOOST_CHECK (!ba::is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome))); + BOOST_CHECK ( ba::is_palindrome(std::begin(oddPalindrome), std::end(oddPalindrome))); BOOST_CHECK ( ba::is_palindrome(std::begin(evenPalindrome), std::end(evenPalindrome))); + BOOST_CHECK (!ba::is_palindrome(std::begin(evenNonPalindrome), std::end(evenNonPalindrome))); //Test the custom comparators BOOST_CHECK ( ba::is_palindrome(empty.begin(), empty.end(), functorComparator())); BOOST_CHECK (!ba::is_palindrome(std::begin(oddNonPalindrome), std::end(oddNonPalindrome), funcComparator)); BOOST_CHECK ( ba::is_palindrome(evenPalindrome, std::equal_to())); - - //Only C++14 or newer - //auto lambdaComparator = [](const auto& v1, const auto& v2){ return v1 == v2; }; - //BOOST_CHECK ( ba::is_palindrome(singleElement, lambdaComparator)); } BOOST_AUTO_TEST_CASE( test_main )