BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bsl::reference_wrapper< T > Class Template Reference

#include <bslmf_referencewrapper.h>

Detailed Description

template<class T>
class bsl::reference_wrapper< T >

This class is a copyable, rebindable proxy for a reference to an object or function. It encapsulates a reference into a value that can be reassigned to refer to a different target and can be stored where a native reference cannot, such as in a Standard Library container. A reference_wrapper is implicitly convertible to a reference to the represented type, so it can be passed to functions expecting such a reference.

See bslmf_referencewrapper

Public Types

typedef T type
 

Public Member Functions

 BSLMF_NESTED_TRAIT_DECLARATION (reference_wrapper, bsl::is_trivially_copyable)
 
 reference_wrapper (T &object)
 
 reference_wrapper (const reference_wrapper &original)=default
 
 ~reference_wrapper ()=default
 
reference_wrapperoperator= (const reference_wrapper &rhs)=default
 
T & get () const
 
 operator T& () const
 

Member Typedef Documentation

◆ type

template<class T >
typedef T bsl::reference_wrapper< T >::type

Constructor & Destructor Documentation

◆ reference_wrapper()

template<class T >
bsl::reference_wrapper< T >::reference_wrapper ( const reference_wrapper< T > &  original)
default

Create a reference wrapper referring to the same object as the specified original.

◆ ~reference_wrapper()

template<class T >
bsl::reference_wrapper< T >::~reference_wrapper ( )
default

Destroy this object.

Member Function Documentation

◆ BSLMF_NESTED_TRAIT_DECLARATION()

template<class T >
bsl::reference_wrapper< T >::BSLMF_NESTED_TRAIT_DECLARATION ( reference_wrapper< T >  ,
bsl::is_trivially_copyable   
)

◆ operator=()

template<class T >
reference_wrapper & bsl::reference_wrapper< T >::operator= ( const reference_wrapper< T > &  rhs)
default

Assign this object to refer to the same object as the specified rhs, and return *this.


The documentation for this class was generated from the following file: