Boost logo

Boost :

From: Daniel Wallin (dalwan01_at_[hidden])
Date: 2003-11-20 04:02:34

John Torjo wrote:

> Hi all,
> How is boost::mpl::select1st<> supposed to be used?

Like any other metafunction I guess.

> I want something in the lines of selecting the first item from a pair.
> Something like:
> std::map< std::string, int> c;
> std::vector<std::string> v;
> // copy all the keys into v
> std::copy( c.begin(), c.end(),
> boost::bind<std::string>( select1st(), std::back_inserter(v));
> Can select1st be used, or is there some other utility function? Thanks.

This is a compile time equivalent of your code:

   typedef mpl::vector<
       mpl::pair<.., ..>
     , mpl::pair<.., ..>
     , ...
> c;

   typedef mpl::transform<
     , mpl::select1st<>
>::type v;


Daniel Wallin

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