Boost logo

Boost :

Subject: [boost] [fusion] sequence io manipulators
From: Jeff Flinn (Jeffrey.Flinn_at_[hidden])
Date: 2013-03-25 15:12:49

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 T(data));
     stream.pword(get_xalloc_index<Tag>()) =;

I assume there are issues with using the unguarded stream_data::data
std::vector<T*> from multiple threads. This implementation looks
problematic in that the arena data does not get cleaned up until program
exit as well.


Boost list run by bdawes at, gregod at, cpdaniel at, john at