diff options
Diffstat (limited to 'boost/test/utils/basic_cstring')
-rw-r--r-- | boost/test/utils/basic_cstring/basic_cstring.hpp | 13 | ||||
-rw-r--r-- | boost/test/utils/basic_cstring/compare.hpp | 6 |
2 files changed, 17 insertions, 2 deletions
diff --git a/boost/test/utils/basic_cstring/basic_cstring.hpp b/boost/test/utils/basic_cstring/basic_cstring.hpp index d6259990e0..fdd87d5211 100644 --- a/boost/test/utils/basic_cstring/basic_cstring.hpp +++ b/boost/test/utils/basic_cstring/basic_cstring.hpp @@ -44,7 +44,7 @@ class basic_cstring { public: // Subtypes typedef ut_detail::bcs_char_traits<CharT> traits_type; - typedef typename ut_detail::bcs_char_traits<CharT>::std_string std_string; + typedef typename traits_type::std_string std_string; typedef CharT value_type; typedef typename remove_cv<value_type>::type value_ret_type; @@ -72,6 +72,7 @@ public: // Constructors; default copy constructor is generated by compiler basic_cstring(); + basic_cstring( basic_cstring const & ); basic_cstring( std_string const& s ); basic_cstring( pointer s ); template<typename LenType> @@ -188,6 +189,16 @@ basic_cstring<CharT>::basic_cstring() template<typename CharT> inline +basic_cstring<CharT>::basic_cstring(basic_cstring const & s) +: m_begin( s.m_begin ) +, m_end( s.m_end ) +{ +} + +//____________________________________________________________________________// + +template<typename CharT> +inline basic_cstring<CharT>::basic_cstring( std_string const& s ) : m_begin( s.c_str() ) , m_end( m_begin + s.size() ) diff --git a/boost/test/utils/basic_cstring/compare.hpp b/boost/test/utils/basic_cstring/compare.hpp index b416b1f2b9..2a256fc6be 100644 --- a/boost/test/utils/basic_cstring/compare.hpp +++ b/boost/test/utils/basic_cstring/compare.hpp @@ -76,9 +76,13 @@ case_ins_eq( basic_cstring<CharT> x, basic_cstring<CharT> y ) // ************************************************************************** // template<class CharT> -class case_ins_less : public std::binary_function<basic_cstring<CharT>,basic_cstring<CharT>,bool> +class case_ins_less { public: + typedef bool result_type; + typedef basic_cstring<CharT> first_argument_type; + typedef basic_cstring<CharT> second_argument_type; + bool operator()( basic_cstring<CharT> x, basic_cstring<CharT> y ) const { return x.size() != y.size() |