std::reference_wrapper::reference_wrapper
From cppreference.com
                    
                                        
                    < cpp | utility | functional | reference wrapper
                    
                                                            
                    |   reference_wrapper( T& x );  | 
(since C++11) | |
|   reference_wrapper( T&& x ) = delete;  | 
(since C++11) | |
|   reference_wrapper( const reference_wrapper<T>& other );  | 
(since C++11) | |
Constructs a new reference wrapper.
1) Stores a reference to x.
2) Construction from a temporary objects is not allowed.
3) Copy constructor. Stores a reference to other.get().
[edit] Parameters
| x | - | an object to wrap | 
| other | - | another reference wrapper |