
Not sure what the problem is but construction or assigment from operator+ doesn't work int VC++2002. boost::fixed_string<20> xxx, yyy, zzz = xxx + yyy; gives the following error error C2679: binary '=' : no operator found which takes a right-hand operand of type 'boost::detail::basic_string_impl<Base,ErrorPolicy>' (or there is no acceptable conversion) with [ Base=boost::detail::fixed_string_iface<char,std::char_traits<char>>, ErrorPolicy=boost::detail::noerror_string_policy ] And another thing: One of the find overloads doesn't check the pos argument so it might create an endless loop. inline size_type find( char_type c, size_type pos = 0 ) const { const_iterator last( end() ); for( const_iterator first( begin() + pos ); first != last; ++first ) ...