friend bool operator==( const_string const& s1, const string& s2 ) { return s1 == const_string( s2 ); }
const_string& operator=( string const& s ) { return *this = const_string( s ); }
const_string& assign( char const* s, size_t len ) { return *this = const_string( s, len ); }
const_string& assign( char const* f, char const* l ) { return *this = const_string( f, l ); }
const_string& assign( char const* s ) { return *this = const_string( s ); }
const_string& assign( string const& s ) { return *this = const_string( s ); }
const_string& assign( string const& s, size_t len ) { return *this = const_string( s.data(), len ); }
const_string& operator=( char const* s ) { return *this = const_string( s ); }
const_string message() const { return !m_message ? const_string() : const_string( m_message->str() ); }