8#ifndef INCLUDED_BSLTF_DEGENERATEFUNCTOR
9#define INCLUDED_BSLTF_DEGENERATEFUNCTOR
74#include <bslscm_version.h>
106template <
class FUNCTOR,
bool ENABLE_SWAP = true>
127 void operator,(
const T&);
163 using FUNCTOR::operator();
180template <
class FUNCTOR>
194template <
class FUNCTOR,
bool ENABLE_SWAP>
201template <
class FUNCTOR,
bool ENABLE_SWAP>
209template <
class FUNCTOR,
bool ENABLE_SWAP>
213: FUNCTOR(
bslmf::MovableRefUtil::move(static_cast<FUNCTOR&>(original)))
217template <
class FUNCTOR,
bool ENABLE_SWAP>
225template <
class FUNCTOR,
bool ENABLE_SWAP>
234 other->~DegenerateFunctor();
242template <
class FUNCTOR>
244void bsltf::swap(DegenerateFunctor<FUNCTOR, true>& lhs,
245 DegenerateFunctor<FUNCTOR, true>& rhs)
Definition bslmf_movableref.h:751
Definition bsltf_degeneratefunctor.h:107
void exchangeValues(DegenerateFunctor *other)
Definition bsltf_degeneratefunctor.h:228
static DegenerateFunctor cloneBaseObject(const FUNCTOR &base)
Definition bsltf_degeneratefunctor.h:220
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlbb_blob.h:576
Definition bsltf_allocargumenttype.h:92
void swap(DegenerateFunctor< FUNCTOR, true > &lhs, DegenerateFunctor< FUNCTOR, true > &rhs)
Exchange the values of the specified lhs and rhs objects.
static MovableRef< t_TYPE > move(t_TYPE &reference) BSLS_KEYWORD_NOEXCEPT
Definition bslmf_movableref.h:1060
static TYPE * addressOf(TYPE &obj)
Definition bsls_util.h:305