Say I have

```
class Value;
class Key;

class MyClass {
  private:
  std::map<Key,Value> my_map;
  ....
}

```

Inside of MyClass methods I have a very convenient way to iterate through values of my\_map by saying

```
 for( auto& value: my_map | boost::adaptors::map_values) {
    ...
 }

```

However I would like to have a method of MyClass that would essentially output
 my\_map | boost::adaptors::map\_values
and allow convenient value iteration outside of MyClass methods. How do I declare such a method? Would I need to implement some sort of pseudo container and corresponding iterator or there is a shortcut?