
27.01.2011, 21:33, "Max Motovilov"
Now, this project is locked into 1.39 for administrative reasons and I will have to work around the issue anyway. Still, I'm curious whether this is a problem that has been fixed since 1.39
No. You're the first person who brought this up, to my knowledge.
Just ran into a regression in old code that last worked [probably] with 1.32 -- I have a number of ADTs which use tellg()/seekg() in their implementations of operator>>. This used to work fine with lexical_cast and now it breaks because the [optimized?] version in 1.39 uses a statically allocated buffer and plain Jane basic_streambuf which does not implement seekpos() and seekoff(). According to http://www.boost.org/doc/libs/1_45_0/libs/conversion/lexical_cast.htm#n1973, operator>> called from a lexical_cast should have at least basic_stringbuf to work with.
I think it was a recommendation. In the next sentence, they say that implementations are not required to use basic_stringstream. OutputStreamable concept refers to ostream and wostream objects. Which means that if some instantiation of OutputStreamable is unable to use seekpos()/seekoff(), it should use an alternative implementation. -- Alex