Archived

This topic is now archived and is closed to further replies.

civguy

boost::pool_allocator, STLPort and VC++ 7.0 don't match

Recommended Posts

I'm trying to compile this:
    
#define BOOST_NO_MT

#include <vector>

#include <boost/pool/pool_alloc.hpp>


int main() {
  std::vector<int, boost::pool_allocator<int> > bleh;
  return 0;
}
  
But it won't compile if I use STLPort. If I use VC++'s standard STL implementation (Dinkumware?), it seems to be working, or at least it compiled okay. More precisely I get these compiler errors (dunno if these will be of any use, though..):
  
D:\programs\Microsoft Visual Studio .NET\Vc7\include\stlport
\stl\_alloc.h(506): error C2228: left of '.deallocate' must have
class/struct/union type

D:\programs\Microsoft Visual Studio .NET\Vc7\include\stlport
\stl\_alloc.h(506): error C2784: '_STL::allocator<_Tp2>
&_STL::__stl_alloc_rebind(_STL::allocator<_Tp1> &,
const _Tp2 *)' : could not deduce template argument for 
'_STL::allocator<_Tp> &' from '_STL::_STLP_alloc_proxy<_Value,
_Tp,_MaybeReboundAlloc>::_Base'
        with
        [
            _Value=int *,
            _Tp=int,
            _MaybeReboundAlloc=_STL::_Vector_base<int,boost::pool_allocator<int,boost::default_user_allocator_new_delete,
boost::details::pool::default_mutex,32>>::allocator_type
        ]
    
So... What am I doing wrong? [edited by - civguy on November 9, 2002 6:12:01 PM]

Share this post


Link to post
Share on other sites