NCBI C++ ToolKit
Public Types | Public Member Functions | Private Types | List of all members
CConstIRef< Interface, Locker > Class Template Reference

Search Toolkit Book for CConstIRef

#include <corelib/ncbiobj.hpp>

+ Inheritance diagram for CConstIRef< Interface, Locker >:
+ Collaboration diagram for CConstIRef< Interface, Locker >:

Public Types

typedef TParent::TObjectType TObjectType
 
typedef TParent::locker_type locker_type
 
typedef CConstIRef< Interface, Locker > TThisType
 
template<class T >
using enable_if_derived = typename std::enable_if< std::is_convertible< T *, TObjectType * >::value >
 Helper template to template enable methods only for derived types. More...
 
- Public Types inherited from CConstRef< Interface, CInterfaceObjectLocker< Interface > >
typedef Interface element_type
 Define alias element_type. More...
 
typedef const element_type TObjectType
 Define alias TObjectType. More...
 
typedef CInterfaceObjectLocker< Interface > locker_type
 Define alias for locking type. More...
 
typedef CConstRef< Interface, CInterfaceObjectLocker< Interface > > TThisType
 Alias for this template type. More...
 
using enable_if_derived = typename std::enable_if< std::is_convertible< T *, TObjectType * >::value >
 Helper template to template enable methods only for derived types. More...
 

Public Member Functions

 CConstIRef (void) THROWS_NONE
 Constructor for null pointer. More...
 
 CConstIRef (ENull) THROWS_NONE
 Constructor for ENull pointer. More...
 
 CConstIRef (TObjectType *ptr)
 Constructor for explicit type conversion from pointer to object. More...
 
 CConstIRef (TObjectType *ptr, const locker_type &locker_value)
 Constructor for explicit type conversion from pointer to object. More...
 
 CConstIRef (const TThisType &ref)
 Constructor from an existing CConstRef object. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
 CConstIRef (const CConstIRef< TDerived > &ref)
 Constructor from an existing CConstRef object of derived type. More...
 
 CConstIRef (TThisType &&ref)
 Move constructor from an existing CConstRef object. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
 CConstIRef (CConstIRef< TDerived > &&ref)
 Move constructor from an existing CConstRef object of derived type. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
 CConstIRef (const CIRef< TDerived > &ref)
 Constructor from an existing CRef object of derived type. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
 CConstIRef (CIRef< TDerived > &&ref)
 Move constructor from an existing CRef object of derived type. More...
 
TThisTypeoperator= (const TThisType &ref)
 Assignment operator for references. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
TThisTypeoperator= (const CConstIRef< TDerived > &ref)
 Assignment operator for references of derived types. More...
 
TThisTypeoperator= (TThisType &&ref)
 Move assignment operator for references. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
TThisTypeoperator= (CConstIRef< TDerived > &&ref)
 Move assignment operator for references of derived types. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
TThisTypeoperator= (const CIRef< TDerived > &ref)
 Assignment operator for assigning a reference to a const reference. More...
 
template<class TDerived , class = typename enable_if_derived<TDerived>::type>
TThisTypeoperator= (CIRef< TDerived > &&ref)
 Move assignment operator for assigning a reference to a const reference. More...
 
TThisTypeoperator= (TObjectType *ptr)
 Assignment operator for references with right hand side set to a pointer. More...
 
TThisTypeoperator= (ENull null)
 Assignment operator with right hand side set to ENull. More...
 
void Swap (TThisType &ref)
 Swaps the pointer with another reference. More...
 
- Public Member Functions inherited from CConstRef< Interface, CInterfaceObjectLocker< Interface > >
 CConstRef (void) THROWS_NONE
 Constructor for null pointer. More...
 
 CConstRef (ENull) THROWS_NONE
 Constructor for ENull pointer. More...
 
 CConstRef (TObjectType *ptr)
 Constructor for explicit type conversion from pointer to object. More...
 
 CConstRef (TObjectType *ptr, const locker_type &locker_value)
 Constructor for explicit type conversion from pointer to object. More...
 
 CConstRef (const TThisType &ref)
 Constructor from an existing CConstRef object. More...
 
 CConstRef (const CConstRef< TDerived, CInterfaceObjectLocker< Interface > > &ref)
 Constructor from an existing CConstRef object of derived type. More...
 
 CConstRef (TThisType &&ref)
 Move constructor from an existing CConstRef object. More...
 
 CConstRef (CConstRef< TDerived, CInterfaceObjectLocker< Interface > > &&ref)
 Move constructor from an existing CConstRef object of derived type. More...
 
 CConstRef (const CRef< TDerived, CInterfaceObjectLocker< Interface > > &ref)
 Constructor from an existing CRef object of derived type. More...
 
 CConstRef (CRef< TDerived, CInterfaceObjectLocker< Interface > > &&ref)
 Move constructor from an existing CRef object of derived type. More...
 
 ~CConstRef (void)
 Destructor. More...
 
const locker_typeGetLocker (void) const
 Get reference to locker object. More...
 
bool operator! (void) const THROWS_NONE
 Check if CConstRef is empty – not pointing to any object, which means having a null value. More...
 
bool Empty (void) const THROWS_NONE
 Check if CConstRef is empty – not pointing to any object which means having a null value. More...
 
bool NotEmpty (void) const THROWS_NONE
 Check if CConstRef is not empty – pointing to an object and has a non-null value. More...
 
bool IsNull (void) const THROWS_NONE
 Check if pointer is null – same effect as Empty(). More...
 
bool NotNull (void) const THROWS_NONE
 Check if pointer is not null – same effect as NotEmpty(). More...
 
void Swap (TThisType &ref)
 Swaps the pointer with another reference. More...
 
void Reset (void)
 Reset reference object. More...
 
void Reset (TObjectType *newPtr)
 Reset reference object to new pointer. More...
 
TObjectTypeReleaseOrNull (void)
 Release a reference to the object and return a pointer to the object. More...
 
TObjectTypeRelease (void)
 Release a reference to the object and return a pointer to the object. More...
 
void AtomicResetFrom (const CConstRef &ref)
 Reset reference object to new pointer. More...
 
void AtomicReleaseTo (CConstRef &ref)
 Release referenced object to another CConstRef<> object. More...
 
TThisTypeoperator= (const TThisType &ref)
 Assignment operator for const references. More...
 
TThisTypeoperator= (const CConstRef< TDerived, CInterfaceObjectLocker< Interface > > &ref)
 Assignment operator for const references of derived types. More...
 
TThisTypeoperator= (TThisType &&ref)
 Move assignment operator for const references. More...
 
TThisTypeoperator= (CConstRef< TDerived, CInterfaceObjectLocker< Interface > > &&ref)
 Move assignment operator for const references of derived types. More...
 
TThisTypeoperator= (const CRef< TDerived, CInterfaceObjectLocker< Interface > > &ref)
 Assignment operator for assigning a reference of derived type. More...
 
TThisTypeoperator= (CRef< TDerived, CInterfaceObjectLocker< Interface > > &&ref)
 Move assignment operator for assigning a reference of derived type. More...
 
TThisTypeoperator= (TObjectType *ptr)
 Assignment operator for const references with right hand side set to a pointer. More...
 
TThisTypeoperator= (ENull)
 Assignment operator with right hand side set to ENull. More...
 
TObjectTypeGetNonNullPointer (void) const
 Get pointer value and throw a null pointer exception if pointer is null. More...
 
TObjectTypeGetPointerOrNull (void) const THROWS_NONE
 Get pointer value. More...
 
TObjectTypeGetPointer (void) const THROWS_NONE
 Get pointer,. More...
 
TObjectTypeGetObject (void) const
 Get object. More...
 
TObjectTypeoperator* (void) const
 Dereference operator returning object. More...
 
TObjectTypeoperator-> (void) const
 Reference operator. More...
 
 operator TObjectType * (void) const
 Dereference operator returning pointer. More...
 

Private Types

typedef CConstRef< Interface, Locker > TParent
 

Additional Inherited Members

- Static Public Member Functions inherited from CConstRef< Interface, CInterfaceObjectLocker< Interface > >
static void ThrowNullPointerException (void)
 

Detailed Description

template<class Interface, class Locker = CInterfaceObjectLocker<Interface>>
class CConstIRef< Interface, Locker >

Definition at line 2158 of file ncbiobj.hpp.


The documentation for this class was generated from the following file:
Modified on Tue Apr 30 06:43:11 2024 by modify_doxy.py rev. 669887