NCBI C++ ToolKit
Classes | Macros | Functions
ncbiobj.hpp File Reference

Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx. More...

#include <corelib/ncbicntr.hpp>
#include <corelib/ncbiatomic.hpp>
#include <corelib/ddumpable.hpp>
#include <corelib/ncbi_os_mswin.hpp>
+ Include dependency graph for ncbiobj.hpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

class  CObjectException
 CObjectException –. More...
 
class  CObjectCounterLocker
 
class  CLockerTraits< C >
 
class  CObject
 CObject –. More...
 
class  CInterfaceObjectLocker< Interface >
 
class  CRef< C, Locker >
 CRef –. More...
 
class  CConstRef< C, Locker >
 CConstRef –. More...
 
class  CIRef< Interface, Locker >
 
class  CConstIRef< Interface, Locker >
 
class  CObjectFor< T >
 CObjectFor –. More...
 
class  CPtrToObjectProxy
 CPtrToObjectProxy –. More...
 
class  CWeakObject
 CWeakObject –. More...
 
class  CObjectEx
 CObjectEx –. More...
 
class  CWeakObjectLocker< C >
 CWeakObjectLocker –. More...
 
class  CWeakInterfaceLocker< Interface >
 CWeakInterfaceLocker –. More...
 
class  CWeakLockerTraits< C >
 
class  CWeakRef< C, Locker >
 CWeakRef –. More...
 
class  CWeakIRef< Interface, Locker >
 CWeakIRef –. More...
 

Macros

#define NCBI_OBJECT_LOCKER_EXPORT   NCBI_XNCBI_EXPORT
 CObjectCounterLocker – Default locker class for CRef/CConstRef templates, all other locker classes should be subclasses of CObjectCounterLocker and use its locking methods. More...
 

Functions

template<class T , class L >
bool operator== (const CRef< T, L > &r1, ENull)
 Comparison operators for CRef<> and CConstRef<> with ENull. More...
 
template<class T , class L >
bool operator== (ENull, const CRef< T, L > &r1)
 Template operator == function for CRef objects – lhs is null. More...
 
template<class T , class L >
bool operator!= (const CRef< T, L > &r1, ENull)
 Template operator != function for CRef objects – rhs is null. More...
 
template<class T , class L >
bool operator!= (ENull, const CRef< T, L > &r1)
 Template operator != function for CRef objects – lhs is null. More...
 
template<class T , class L >
bool operator== (const CConstRef< T, L > &r1, ENull)
 Template operator == function for CConstRef objects – rhs is null. More...
 
template<class T , class L >
bool operator== (ENull, const CConstRef< T, L > &r1)
 Template operator == function for CConstRef objects – lhs is null. More...
 
template<class T , class L >
bool operator!= (const CConstRef< T, L > &r1, ENull)
 Template operator != function for CConstRef objects – rhs is null. More...
 
template<class T , class L >
bool operator!= (ENull, const CConstRef< T, L > &r1)
 Template operator != function for CConstRef objects – lhs is null. More...
 
template<class C >
CRef< CRef (C *object)
 Helper functions to get CRef<> and CConstRef<> objects. More...
 
template<class C >
CConstRef< CConstRef (const C *object)
 Template function for conversion of const object pointer to CConstRef. More...
 
template<class C , class L >
BEGIN_STD_SCOPE void swap (NCBI_NS_NCBI::CRef< C, L > &ref1, NCBI_NS_NCBI::CRef< C, L > &ref2)
 
template<class C , class L >
void swap (NCBI_NS_NCBI::CConstIRef< C, L > &ref1, NCBI_NS_NCBI::CConstIRef< C, L > &ref2)
 
template<class C , class L >
void swap (NCBI_NS_NCBI::CIRef< C, L > &ref1, NCBI_NS_NCBI::CIRef< C, L > &ref2)
 
template<class C , class L >
void swap (NCBI_NS_NCBI::CConstRef< C, L > &ref1, NCBI_NS_NCBI::CConstRef< C, L > &ref2)
 
template<class C , class L >
void swap (NCBI_NS_NCBI::CWeakRef< C, L > &ref1, NCBI_NS_NCBI::CWeakRef< C, L > &ref2)
 
template<class C , class L >
void swap (NCBI_NS_NCBI::CWeakIRef< C, L > &ref1, NCBI_NS_NCBI::CWeakIRef< C, L > &ref2)
 

Detailed Description

Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.

Definition in file ncbiobj.hpp.

Modified on Wed Apr 17 13:08:10 2024 by modify_doxy.py rev. 669887