[prev in list] [next in list] [prev in thread] [next in thread]
List: boost-users
Subject: [Boost-users] [format][patch][1.33.1][SunPro11] missing static_cast
From: Marc Mutz <marc () klaralvdalens-datakonsult ! se>
Date: 2006-04-03 12:00:26
Message-ID: 200604031400.35972.marc () klaralvdalens-datakonsult ! se
[Download RAW message or body]
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
[Attachment #3 (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic