Is there a neat equivalent for viewing a member function?

The thread library has a neat mapfeature for viewing a range by a member function. Is there an equivalent view in Range-V3 ?

Could it view::transformbe the only option?

+4
source share
1 answer

Example from the article:

std::vector widgets = /* ... */    
std::set ids = stream::MakeStream::from(widgets)
         .map(&Widget::getId)
         .to_set();

(ignoring missing template arguments for std::vectorand std::set) in ranges-v3:

std::vector<Widget> widgets = // ...
std::set<Widget::ID> ids = widgets | ranges::view::transform(&Widget::getId);

Yes, transformequivalent mapin streams.

-v3 Invokable Projections, , , , Widget :

widgets |= ranges::action::sort(std::greater<Widget::ID>{}, &Widget::getId);
+7

All Articles