
23 Mar
2007
23 Mar
'07
9:58 p.m.
on Fri Mar 23 2007, David Abrahams <dave-AT-boost-consulting.com> wrote:
From scratch (untested):
And now, just by inspection...
template <class Seq, class E> struct erase_first { typedef typename mpl::find<Seq, T>::type i; typedef typename eval_if< boost::is_same<i, typename mpl::end<Seq> >
^::type
, mpl::identity<Seq> , mpl::erase<Seq,i> >::type type; };
HTH,
HTH-ly y'rs, -- Dave Abrahams Boost Consulting www.boost-consulting.com