From eeb7bf0fe0963f4ce4fd15d745344dbcc7c5749a Mon Sep 17 00:00:00 2001 From: Pavol Droba Date: Wed, 19 Jan 2005 22:26:38 +0000 Subject: [PATCH] Test added to spot a problem with char*/wchar_t* passed by a reference [SVN r26752] --- test/string.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/test/string.cpp b/test/string.cpp index 65ec780..4b79bb0 100755 --- a/test/string.cpp +++ b/test/string.cpp @@ -41,6 +41,21 @@ find( const Container& c, T value ) return std::find( boost::begin( c ), boost::end( c ), value ); } +template< typename Container, typename T > +BOOST_DEDUCED_TYPENAME boost::range_iterator::type +find_mutable( Container& c, T value ) +{ + return std::find( boost::begin( c ), boost::end( c ), value ); +} + +template< typename Container, typename T > +BOOST_DEDUCED_TYPENAME boost::range_const_iterator::type +find_const( const Container& c, T value ) +{ + return std::find( boost::begin( c ), boost::end( c ), value ); +} + + std::vector check_rvalue_return() { @@ -102,9 +117,14 @@ void check_char() BOOST_CHECK_EQUAL( size( my_string ), std::char_traits::length( my_string ) ); char to_search = 'n'; - BOOST_CHECK( find( char_s, to_search ) != end( char_s ) ); - BOOST_CHECK( find( my_string, to_search ) != end( my_string ) ); - + BOOST_CHECK( find_mutable( char_s, to_search ) != end( char_s ) ); + BOOST_CHECK( find_const( char_s, to_search ) != end( char_s ) ); + + BOOST_CHECK( find_mutable( my_string, to_search ) != end( my_string ) ); + BOOST_CHECK( find_const( my_string, to_search ) != end( my_string ) ); + + BOOST_CHECK( find_mutable( char_s2, to_search ) != end( char_s2 ) ); + BOOST_CHECK( find_const( char_s2, to_search ) != end( char_s2 ) ); }