
Ovanes,
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());
Just use: context_type::token_type::string_type s1("some_macro_name"); if (ctx.is_macro_defined(s1.begin(), s1.end())) ... directly. I'll look into the other issue asap. Regards Hartmut
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<std::numeric_limits<InputIterator>::is_specialized>()); }
Replace has BOOST_ASSERT(false) statement: template<class InputIterator> line 1897: flex_string& ReplaceImpl(iterator i1, iterator i2, InputIterator b, InputIterator e, Selector<0>) { BOOST_ASSERT(false); return *this; }
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
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users