
John Harris <john.harris@tradingtechnologies.com> wrote:
scleary@jerviswebb.com wrote:
John -
Sorry, Boost.Pool does not currently support MSVC, due to that compiler's extreme lack of template support.
I also tried this on the real released VC7.1 (which has been on MSDN subscriber downloads for a couple of weeks, now), and, while it compiles, I get warnings that point me to some code that looks like it's losing precision (size_type reduced to bool) in a calculation.
VC++ has produced that warning for a while now, and it's totally bogus. Notice that it's a "performance warning" not an "are you sure this is that you want?" warning, and it's being generated here for *casts* not implicit conversions. <snip>
Another test I tried was a map<string,string>, actually declared like this:
typedef std::basic_string<char,std::char_traits<char>,boost::pool_allocator<ch ar> > t; std::map<t, t, std::less<t>, boost::pool_allocator<std::pair<const t, t> > > m;
...and got these errors: <snip>
I compiled almost the exact same code: #include <boost/pool/pool_alloc.hpp> #include <map> #include <utility> typedef std::basic_string<char,std::char_traits<char>,boost::pool_allocator<char
t;
int main() { std::map<t, t, std::less<t>, boost::pool_allocator<std::pair<const t, t> > > m; } with VC++ 7.0 and Boost 1.29, and got no warnings or errors at all. The command line was: cl /D__WIN32__ /EHsc /I"c:\program files\boost" test.cpp I repeated this with Boost 1.30 and again got no warnings or errors. I don't have VC++ 7.1 to hand, but I would be surprised if it broke anything that worked in 7.0.