diff --git a/include/boost/range/begin.hpp b/include/boost/range/begin.hpp index a551e6d..eb2d9b7 100755 --- a/include/boost/range/begin.hpp +++ b/include/boost/range/begin.hpp @@ -83,7 +83,28 @@ namespace range_detail ////////////////////////////////////////////////////////////////////// // string ////////////////////////////////////////////////////////////////////// - + +#if BOOST_WORKAROUND(__MWERKS__, <= 0x3204 ) // up to 9.3 + inline const char* begin( const char* s ) + { + return s; + } + + inline char* begin( char* s ) + { + return s; + } + + inline const wchar_t* begin( const wchar_t* s ) + { + return s; + } + + inline wchar_t* begin( wchar_t* s ) + { + return s; + } +#else inline const char* begin( const char*& s ) { return s; @@ -103,6 +124,7 @@ namespace range_detail { return s; } +#endif } // namespace 'range_detail' diff --git a/include/boost/range/end.hpp b/include/boost/range/end.hpp index aa6f79a..02ed4f6 100755 --- a/include/boost/range/end.hpp +++ b/include/boost/range/end.hpp @@ -83,7 +83,28 @@ namespace range_detail ////////////////////////////////////////////////////////////////////// // string ////////////////////////////////////////////////////////////////////// - + +#if BOOST_WORKAROUND(__MWERKS__, <= 0x3204 ) // up to 9.3 + inline char* end( char* s ) + { + return range_detail::str_end( s ); + } + + inline wchar_t* end( wchar_t* s ) + { + return range_detail::str_end( s ); + } + + inline const char* end( const char* s ) + { + return range_detail::str_end( s ); + } + + inline const wchar_t* end( const wchar_t* s ) + { + return range_detail::str_end( s ); + } +#else inline char* end( char*& s ) { return range_detail::str_end( s ); @@ -103,6 +124,7 @@ namespace range_detail { return range_detail::str_end( s ); } +#endif } // namespace 'range_detail'