$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