25 Mar
2013
25 Mar
'13
7:12 p.m.
When streaming unrelated fusion sets to unrelated ostringstreams from
different threads, I get an invalid iterator error. This appears to be
due to using a boost::fusion::detail::stream_data::attach's local static
arena instance.
static void attach(Stream& stream, T const& data)
{
static arena ar; // our arena
ar.data.push_back(new T(data));
stream.pword(get_xalloc_index<Tag>()) = ar.data.back();
}
I assume there are issues with using the unguarded stream_data::data
std::vector