$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Abrahams (dave_at_[hidden])
Date: 2006-05-18 16:21:22
I find myself creating this class member:
compressed_pair<
storage
, compressed_pair<
Lookup
, compressed_pair<
GetUnstored
, SetUnstored
>
>
> members;
I imagine this sort of usage is pretty common. The problem is that
it's hard to initialize this member efficiently: you have to build and
copy too many compressed_pairs. I propose to extend compressed_pair
with overloaded ctors, as follows:
compressed_pair(
first_param_type f
, typename second_type::first_param_type sf
, typename second_type::second_param_type ss);
compressed_pair(
first_param_type f
, typename second_type::first_param_type sf
, typename second_type::second_type::first_param_type ssf
, typename second_type::second_type::second_param_type sss );
...
etc.
If SFINAE doesn't take out these declarations when the second type is
not a (compressed_)pair, we can always template them.
Thoughts?
-- Dave Abrahams Boost Consulting www.boost-consulting.com