summaryrefslogtreecommitdiff
path: root/boost/test/utils/basic_cstring
diff options
context:
space:
mode:
Diffstat (limited to 'boost/test/utils/basic_cstring')
-rw-r--r--boost/test/utils/basic_cstring/basic_cstring.hpp13
-rw-r--r--boost/test/utils/basic_cstring/compare.hpp6
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()