::parameters&lt;
    required&lt;tag::class_type, is_class&lt;_&gt; &gt;

  , parameter::optional&lt;
        deduced&lt;tag::base_list&gt;
      , is_base_and_derived&lt;detail::bases_base,_&gt;
    &gt;

  , parameter::optional&lt;
        deduced&lt;tag::held_type&gt;
      , mpl::not_&lt;
            mpl::or_&lt;
                is_base_and_derived&lt;detail::bases_base,_&gt;
              , is_same&lt;noncopyable,_&gt;
            &gt;
        &gt;
    &gt;

  , parameter::optional&lt;deduced&lt;tag::c