8#ifndef INCLUDED_BSLMF_REMOVEREFERENCE
9#define INCLUDED_BSLMF_REMOVEREFERENCE
122#include <bslscm_version.h>
127#if BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
128#include <type_traits>
137#ifdef BSLS_LIBRARYFEATURES_HAS_CPP11_BASELINE_LIBRARY
138using std::remove_reference;
149template <
class t_TYPE>
150struct remove_reference {
159template <
class t_TYPE>
160struct remove_reference<t_TYPE&> {
167#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES)
169template <
class t_TYPE>
170struct remove_reference<t_TYPE&&> {
183#ifdef BSLS_LIBRARYFEATURES_HAS_CPP14_BASELINE_LIBRARY
184using std::remove_reference_t;
186#if defined(BSLS_COMPILERFEATURES_SUPPORT_ALIAS_TEMPLATES)
188template <
class t_TYPE>
189using remove_reference_t =
typename remove_reference<t_TYPE>::type;
212template <
class t_TYPE>
217 typedef typename bsl::remove_reference<t_TYPE>::type
Type;
223#ifndef BDE_OPENSOURCE_PUBLICATION
228#ifdef bslmf_RemoveReference
229#undef bslmf_RemoveReference
232#define bslmf_RemoveReference bslmf::RemoveReference
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlb_printmethods.h:283
Definition bdlbb_blob.h:576
Definition bslmf_removereference.h:213
bsl::remove_reference< t_TYPE >::type Type
Definition bslmf_removereference.h:217