[fusion] is there anything resembling a joint_view of 2 maps?

Hi All,
I am wondering if anyone knows of anything that resembles a joint_view
of a pair of maps.
typedef mpl::int_<1> key1_;
typedef mpl::int_<2> key2_;
typedef pair

The current implementation of views do not preserve the associative-ness of the underlying sequence(s). In your specific example, the joint_view is a plain forward sequence. You could try my c++0x-port of Boost.Fusion. My implementation correctly preserves the category. You can find the code in the sandbox (https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion). -Christopher er schrieb:
Hi All,
I am wondering if anyone knows of anything that resembles a joint_view of a pair of maps.
typedef mpl::int_<1> key1_; typedef mpl::int_<2> key2_;
typedef pair
pair1_; typedef pair pair2_; typedef map
map1_; typedef map map2_; map1_ m1( make_pair
(1) ); map2_ m2( make_pair (2) ); typedef joint_view< map1_, map2_ > jv_; // not supposed to compile (?), yet it does: jv_ view(m1,m2); // but not this: // at_key
(view) // I have no choice (?) but create a new map, // although view helps a bit for initializing it: typedef map< pair1_, pair2_ > map3_;
map3_ m3 = fusion::as_map(view);
int n1 = fusion::at_key
(m3); BOOST_ASSERT(n1 == 1); int n2 = fusion::at_key (m3); BOOST_ASSERT(n2 == 2);

You could try my c++0x-port of Boost.Fusion. My implementation correctly preserves the category. You can find the code in the sandbox (https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion).
-Christopher
Thank you. I guess it wouldn't be a good idea for me to mix files from c++0x-port and boost. To those who support fusion: would it be wise to place a feature request for this, then?

My code is pretty much backwards compatible - there have not been any striking semantic changes and all testcases pass on gcc 3.4/4.4 and vc 9. Unfortunately I have not had the time to put the code up for review yet. I am pretty positive that the code is trunk-ready though, and I will try to post a report on my work within the next days. Either way, for now you can workaround your issue by providing your own extension implementations for fusion::extension::category_of_implfusion::joint_view_tag, fusion::extension::has_key_implfusion::joint_view_tag and fusion::extension::at_key_implfusion::joint_view_tag, or, even better, wrap the joint_view up in another view which implements both (forward and associative) extension backends. -Christopher er schrieb:
I guess it wouldn't be a good idea for me to mix files from c++0x-port and boost.

Either way, for now you can workaround your issue by providing your own extension implementations for fusion::extension::category_of_implfusion::joint_view_tag, fusion::extension::has_key_implfusion::joint_view_tag and fusion::extension::at_key_implfusion::joint_view_tag, or, even better, wrap the joint_view up in another view which implements both (forward and associative) extension backends.
Thanks, but the workaround you are suggesting is not obvious to me.
Maybe you can help? I have started here :
template <>
template

er wrote:
You could try my c++0x-port of Boost.Fusion. My implementation correctly preserves the category. You can find the code in the sandbox (https://svn.boost.org/trac/boost/browser/sandbox/SOC/2009/fusion).
-Christopher
Thank you.
I guess it wouldn't be a good idea for me to mix files from c++0x-port and boost.
To those who support fusion: would it be wise to place a feature request for this, then?
Yes, please. Christopher, would you be interested to port to current fusion? That would provide a seamless integration from the current code to the future 0x code. Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net http://tinyurl.com/facebook-jdg

I certainly am. Once the review of my port is done, I will start working on it. -Christopher Joel de Guzman schrieb:
Yes, please. Christopher, would you be interested to port to current fusion? That would provide a seamless integration from the current code to the future 0x code.
Regards,
participants (3)
-
Christopher Schmidt
-
er
-
Joel de Guzman