[format][patch][1.33.1][SunPro11] missing static_cast from void* to char*
Hi, SunPro (tested: v11, with current patches), needs the attached patch to compile the following code: --code-- using boost::format; using boost::str; void foo( const std::string & ); format fmt( "host=%1%,port=%2%" ); const std::string host = ...; const unsigned short port = ...; foo( str( fmt % host % port ) ); --/code-- --- /opt/boost/cc/1.33.1/include/boost-1_33_1/boost/format/alt_sstream_impl.hpp~ Sun Feb 27 03:06:57 2005 +++ /opt/boost/cc/1.33.1/include/boost-1_33_1/boost/format/alt_sstream_impl.hpp Mon Apr 24 18:07:09 2006 @@ -245,7 +245,7 @@ add_size /= 2; if(0 < add_size) { new_size += add_size; - newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0); + newptr = static_cast<Ch*>(alloc_.allocate(new_size, is_allocated_? oldptr : 0)); } if(0 < prev_size) Thanks, Marc PS: Regarding the API: I don't much like the fact that format::operator% changes the format instance. I would have liked to write "static const format" in the code snippet above. Feels more natural ("do as the ints do"). I see where the design comes from (speed optimization), but speed shouldn't dictate design. Expression templates could be used to speed up the process. -- Marc Mutz -- marc@klaralvdalens-datakonsult.se, mutz@kde.org Klarälvdalens Datakonsult AB, Platform-independent software solutions
participants (1)
-
Marc Mutz