Boost logo

Boost Users :

Subject: Re: [Boost-users] Iterating over the seconds of a list of pairs
From: Björn Karlsson (Bjorn.Karlsson_at_[hidden])
Date: 2009-08-09 02:38:50


Hello Rob,

> To enable writing to the element.second, shouldn't that 'second'
> extractor return a reference?

Good point, and that's certainly possible to do. The function object needs to be changed like so (note that the argument to the function call operator is now passed as a reference rather than reference to const):

  // Extract the second element of a pair
  template <typename T> class pair_second_t
  {
  public:
    typedef T& result_type;

    template <typename U> result_type operator()(std::pair<U,T>& element) const
    {
      return element.second;
    }
  };

Cheers,
Bjorn Karlsson
www.skeletonsoftware.net


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net