
I have a project that uses the fixed_string library (which is still in the review que). This library worked fine with string_algo in boost 1.32 but not with boost 1.33. I traced the problem to be the following template <typename StringT> struct C { typedef range_result_iterator<StringT>::type range_iterator_type; typedef StringT::iterator iterator_type; BOOST_STATIC_ASSERT((is_same<range_iterator_type, iterator_type>::value)); int dummy; }; main() { C<std::string> a; // ok C<array<char, 5> > b; // ok C<const_string<> > c; // ok C<vector<char> > d; // ok C<fixed_string<10> > e; // static assert } Didn't find any obvious reason in any of the libraries involved. Is it a problem with the VC70 compiler? (Also noticed that the range library copied a lot from the string_algo library e.g. BOOST_STRING_TYPENAME and code layout. Doesn't matter but it confused me sometimes about what library source I was looking at)