From 63f45069bf3cb21f8c43e84efe8fe54211e22268 Mon Sep 17 00:00:00 2001 From: Robert Ramey Date: Sun, 15 Aug 2004 14:57:50 +0000 Subject: [PATCH] fix to accomodate non-standard libraries [SVN r24485] --- include/boost/utf8_codecvt_facet.hpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/include/boost/utf8_codecvt_facet.hpp b/include/boost/utf8_codecvt_facet.hpp index b7a9b7a..b6770b9 100644 --- a/include/boost/utf8_codecvt_facet.hpp +++ b/include/boost/utf8_codecvt_facet.hpp @@ -51,11 +51,9 @@ #include // size_t namespace std{ - #if defined(__COMO__) + #if defined(__LIBCOMO__) using ::mbstate_t; - #elif defined(BOOST_MSVC) - using ::mbstate_t; - #elif defined(BOOST_INTEL) + #elif defined(BOOST_DINKUMWARE_STDLIB) using ::mbstate_t; #elif defined(BOOST_NO_STDC_NAMESPACE) using ::codecvt; @@ -63,6 +61,17 @@ namespace std{ #endif } // namespace std + +#if !defined(__MSL_CPP__) \ +&& !defined(__LIBCOMO__) + #define BOOST_CODECVT_DO_LENGTH_CONST const +#else + #define BOOST_CODECVT_DO_LENGTH_CONST +#endif + +#include + + // maximum lenght of a multibyte string #define MB_LENGTH_MAX 8 @@ -131,7 +140,7 @@ protected: // How many char objects can I process to get <= max_limit // wchar_t objects? virtual int do_length( - const std::mbstate_t &, + BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, const char * from, const char * from_end, std::size_t max_limit @@ -202,3 +211,4 @@ struct utf8_codecvt_facet #endif #endif // BOOST_UTF8_CODECVT_FACET_HPP +