[boost-users][fusion] tuple + io question
Hi, Is there a reason why fusion/tuple/tuple.hpp includes fusion/sequence/io.hpp? The "normal" boost::tuple, is split into tuple/tuple.hpp and tuple/tuple_io.hpp. I have the problem that just including *stream headers, make my program crash before main, because they rely on static variables that dynamically allocate memory, which isn't available before main. I fixed this for me by commenting out the include line, and now i'm only just wondering why this differs to boost::tuples? -- regards, dave
David Klein wrote:
Hi,
Is there a reason why fusion/tuple/tuple.hpp includes fusion/sequence/io.hpp? The "normal" boost::tuple, is split into tuple/tuple.hpp and tuple/tuple_io.hpp.
I have the problem that just including *stream headers, make my program crash before main, because they rely on static variables that dynamically allocate memory, which isn't available before main.
I fixed this for me by commenting out the include line, and now i'm only just wondering why this differs to boost::tuples?
Fusion tuple is TR1 compliant. It does not try to emulate boost::tuple and its header file organization. Your crash is not the fault of fusion at all. Which platform compiler are you using? Anyway, there are a couple of workarounds. 1) use boost tuple 2) use fusion fine grained header (e.g. fusion/sequence/ container/vector.hpp). Regards, -- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
Joel de Guzman wrote:
David Klein wrote:
Hi,
Is there a reason why fusion/tuple/tuple.hpp includes fusion/sequence/io.hpp? The "normal" boost::tuple, is split into tuple/tuple.hpp and tuple/tuple_io.hpp.
I have the problem that just including *stream headers, make my program crash before main, because they rely on static variables that dynamically allocate memory, which isn't available before main.
I fixed this for me by commenting out the include line, and now i'm only just wondering why this differs to boost::tuples?
Fusion tuple is TR1 compliant. It does not try to emulate boost::tuple and its header file organization. Ok, i didn't know about that :( Your crash is not the fault of fusion at all. No, of course not, and i wasn't blaming fusion for this. Sorry if it sounded that way. Which platform compiler are you using? It's CodeWarrior 2.0 for Nintendo DS. Anyway, there are a couple of workarounds. 1) use boost tuple 2) use fusion fine grained header (e.g. fusion/sequence/ container/vector.hpp).
I tried 2) before but i like fusion::tuple_element
Regards,
Thanks for the hints and this great library. -- regards, dave
participants (2)
-
David Klein
-
Joel de Guzman