Boost logo

Boost :

From: Eric Friedman (ebf_at_[hidden])
Date: 2003-11-15 20:33:02

Peter Dimov wrote:

> I'm somewhat amused by the possibilities that enable_if offers. Perhaps one
> day we'll think of
> template<class V> enable_if< is_instance_of< std::vector<_, _>, V> >::type
> f( V & v);
> as a natural alternative to
> template<class T, class A> void f( std::vector<T, A> & v );
> but I doubt it. ;-)

If we ever do, we can use mpl::lambda_match, which is in the sandbox:

   template <class V>
     typename enable_if<
         mpl::lambda_match< std::vector<_,_>, V >
   f( V & v );

Additionally, lambda_match supports more advanced functionality, such as

   template <class Double>
     typename enable_if<
         mpl::lambda_match< std::pair<_1,_1>, Double >
   f( Double & d );

Perhaps I should rename it to mpl::is_instance_of?


Boost list run by bdawes at, gregod at, cpdaniel at, john at