8#ifndef INCLUDED_BSLMF_REFERENCEWRAPPER
9#define INCLUDED_BSLMF_REFERENCEWRAPPER
141#include <bslscm_version.h>
150#ifndef BDE_DONT_ALLOW_TRANSITIVE_INCLUDES
154#ifdef BSLS_COMPILERFEATURES_FULL_CPP11
155# include <functional>
156# define BSLMF_REFERENCEWRAPPER_IS_ALIASED
161using std::reference_wrapper;
258 : d_represented_p(BloombergLP::
bsls::Util::addressOf(object))
267 return *d_represented_p;
274 return *d_represented_p;
296 return reference_wrapper<T>(
object);
303 return ref(original.
get());
Definition bslmf_referencewrapper.h:182
~reference_wrapper()=default
Destroy this object.
T type
Definition bslmf_referencewrapper.h:190
reference_wrapper & operator=(const reference_wrapper &rhs)=default
reference_wrapper(const reference_wrapper &original)=default
BSLMF_NESTED_TRAIT_DECLARATION(reference_wrapper, bsl::is_trivially_copyable)
T & get() const
Return a reference to the object that *this represents.
Definition bslmf_referencewrapper.h:265
reference_wrapper(T &object)
Create a reference wrapper representing the specified object.
Definition bslmf_referencewrapper.h:257
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlat_valuetypefunctions.h:939
reference_wrapper< const T > cref(const T &object)
reference_wrapper< T > ref(T &object)
Return a reference wrapper that represents the specified object.
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
Definition bdlbb_blob.h:579
Definition bdlt_iso8601util.h:707
Definition bslmf_istriviallycopyable.h:324
Definition bslmf_isreferencewrapper.h:167