8#ifndef INCLUDED_BSLTF_COPYMOVETRACKER
9#define INCLUDED_BSLTF_COPYMOVETRACKER
330#include <bslscm_version.h>
381 template <
class DERIVED>
409 template <
class DERIVED>
479 template <
class OTHER>
490 template <
class OTHER>
540template <
class DERIVED>
575 if (&rhsLvalue !=
this) {
583template <
class DERIVED>
593 if (&rhsLvalue !=
this) {
Definition bslmf_movableref.h:751
Definition bsltf_copymovetracker.h:353
~CopyMoveTracker()=default
bool isCopiedConstInto() const
Definition bsltf_copymovetracker.h:629
CopyMoveState::Enum copyMoveState() const
Return this object's state.
Definition bsltf_copymovetracker.h:619
CopyMoveTracker()
Create object an object in the e_NOT_COPIED_OR_MOVE state.
Definition bsltf_copymovetracker.h:516
friend BSLS_KEYWORD_CONSTEXPR bsl::enable_if< bsl::is_same< CopyMoveTracker, OTHER >::value, bool >::type operator!=(const CopyMoveTracker &, const OTHER &)
Definition bsltf_copymovetracker.h:493
bool isMovedFrom() const
Definition bsltf_copymovetracker.h:649
void setCopyMoveState(CopyMoveState::Enum state)
Definition bsltf_copymovetracker.h:606
void swapCopyMoveStates(CopyMoveTracker &b)
Definition bsltf_copymovetracker.h:612
bool isCopiedNonconstInto() const
Definition bsltf_copymovetracker.h:642
bool isCopiedInto() const
Definition bsltf_copymovetracker.h:636
friend BSLS_KEYWORD_CONSTEXPR bsl::enable_if< bsl::is_same< CopyMoveTracker, OTHER >::value, bool >::type operator==(const CopyMoveTracker &, const OTHER &)
Definition bsltf_copymovetracker.h:482
void resetCopyMoveState()
Set this object to the e_NOT_COPIED_OR_MOVE state.
Definition bsltf_copymovetracker.h:601
friend CopyMoveState::Enum copyMoveState(const CopyMoveTracker &tracker)
Definition bsltf_copymovetracker.h:499
bool isMovedInto() const
Definition bsltf_copymovetracker.h:655
bool isOriginal() const
Definition bsltf_copymovetracker.h:661
CopyMoveTracker & operator=(const CopyMoveTracker &rhs)
Definition bsltf_copymovetracker.h:562
friend void setCopyMoveState(CopyMoveTracker *tracker, CopyMoveState::Enum state)
Definition bsltf_copymovetracker.h:507
bool hasUnknownCopyMoveState() const
Definition bsltf_copymovetracker.h:624
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
#define BSLS_KEYWORD_CONSTEXPR
Definition bsls_keyword.h:588
Definition bsltf_allocargumenttype.h:92
Definition bslmf_enableif.h:525
Definition bslmf_isconvertible.h:867
static t_TYPE & access(t_TYPE &ref) BSLS_KEYWORD_NOEXCEPT
Definition bslmf_movableref.h:1032
Definition bsltf_copymovestate.h:219
Enum
Definition bsltf_copymovestate.h:222
@ e_COPIED_NONCONST_INTO
Definition bsltf_copymovestate.h:228
@ e_COPIED_INTO
Definition bsltf_copymovestate.h:226
@ e_UNKNOWN
Definition bsltf_copymovestate.h:231
@ e_COPIED_CONST_INTO
Definition bsltf_copymovestate.h:227
@ e_MOVED_INTO
Definition bsltf_copymovestate.h:229
@ e_ORIGINAL
Definition bsltf_copymovestate.h:225
@ e_MOVED_FROM
Definition bsltf_copymovestate.h:230
static bool isValid(Enum val)
Definition bsltf_copymovestate.h:418