2011/9/4 Ion Gaztañaga
El 04/09/2011 12:12, Szymon Gatner escribió:
Hi,
snipped below gives this error in VS 2008 SP1:
Error 1 error C2664: 'void boost::container::vector<T>::priv_range_insert<InIt>(Object **,FwdIt,FwdIt,std::forward_iterator_tag)' : cannot convert parameter 4 from 'boost::detail::iterator_category_with_traversal
' to 'std::forward_iterator_tag' c:\devel\boost_1_47_0\boost\container\vector.hpp 1908 copy_range AFAIK, Boost.Range does not support Boost.Container.
It is not something that Boost.Range should support explicitly imho as there is no problem with exact same code with std::vector instead of boost::container::vector. This is what copy_range does: template< typename SeqT, typename Range > inline SeqT copy_range( const Range& r ) { return SeqT( boost::begin( r ), boost::end( r ) ); } Code I attached just tries to initialize boost::container::vector from 2 iterators. (Same error when using explicit assign() method). Also copying transformed_range to a container::vector is OK, only (re) initialization fails. Regards, Simon -- Szymon Gatner The Lordz Games Studio www.thelordzgamesstudio.com