Boost logo

Boost Users :

From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2007-09-24 12:27:16


Eric,

sorry for the delay. I only now found some time to work on that issue:
http://lists.boost.org/boost-users/2007/08/30120.php

After analysing your post and investigation what's going on, I would like to
write my opinion:

changing xpressive_fwd.hpp or proto_fwd.will not help.

I grepped where fusion includes are used and need to enclose these in some
conditional statements:

#ifdef BOOST_XPRESSIVE_FUSION_V2
# include ... //fusion 2 headers
#else
# include ... // fusion 1 headers
#endif

Actually this can be done using some kind of a macro function like:

#include BOOST_XPRESSIVE_FUSION_ROOT(sequence/cons.hpp)
...

The macro function will deliver the root dependent on the predefined macros
like:
1. if !defined XPRESSIVE_FUSION_ROOT and use V2
    => choose the root for V2
else => choose the root for V1

As I found out the following files need to be changed:
linker.hpp
alternate_matcher.hpp
alt_compilers.hpp
any.hpp
cons.hpp
arg_traits.hpp
op_base.hpp
proto_fwd.hpp

If you give me your green light I will do it and submit a patch.

With Kind Regards,
Ovanes



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net