
Many thanks for such a quick response! On Tue, March 6, 2007 20:09, Hartmut Kaiser wrote:
Ovanes Markarian wrote:
[snipped clarified text]
I assume compiler dereferences iterator to char and char has no member to get_value. Does anyone have suggestions?
That's a bug. It's fixed in CVS::HEAD now. You can work around this problem for now by using a instance of context_type::token_type::string_type instead of a std::string for now.
I tried to work with context_type::token_type::string_type (On my machine it is resolved to
flex_string) the problem is that the construct:
std::string s1("some string...");
context_type::token_type::string_type s2(s1->begin(), s1->end());
crashed the app in the assign function call from the ctor:
template <class InputIterator>
flex_string(InputIterator begin, InputIterator end, const A& a = A())
: Storage(a)
{
flex_string.hpp:1479: assign(begin, end); >>>> boom!!!
}
The problem is:
assign calls replace:
template<class InputIterator>
line 1906: flex_string& replace(iterator i1, iterator i2,
InputIterator j1, InputIterator j2)
{
return ReplaceImpl(i1, i2, j1, j2,
Selector
I'll try to add these fixes to the upcoming release as well, but will have to ask the release manager first.
Regards Hartmut
May be you can take a look at the calling logic and why this assertion should fail? Many Thanks for your help! With Kind Regards, Ovanes Markarian