include/corelib/ncbiobj.hpp File Reference


Detailed Description

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

Definition in file ncbiobj.hpp.

#include <corelib/ncbicntr.hpp>
#include <corelib/ncbiatomic.hpp>
#include <corelib/ddumpable.hpp>
#include <typeinfo>

Include dependency graph for ncbiobj.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of 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  CPtrToObjectExProxy
 CPtrToObjectExProxy --. More...
class  CObjectEx
 CObjectEx --. More...
class  CWeakObjectExLocker< C >
 CWeakObjectExLocker --. More...
class  CWeakInterfaceLocker< Interface >
 CWeakInterfaceLocker --. More...
class  CWeakLockerTraits< C >
class  CWeakRef< C, Locker >
 CWeakRef --. More...
class  CWeakIRef< Interface, Locker >
 CWeakIRef --. More...

Enumerations

enum  ENull { null = 0 }
 Define "null" pointer value. More...

Functions

template<class T, class L>
bool operator== (const CRef< T, L > &r1, ENull)
 Template operator == function for CRef objects -- rhs is null.
template<class T, class L>
bool operator== (ENull, const CRef< T, L > &r1)
 Template operator == function for CRef objects -- lhs is null.
template<class T, class L>
bool operator!= (const CRef< T, L > &r1, ENull)
 Template operator != function for CRef objects -- rhs is null.
template<class T, class L>
bool operator!= (ENull, const CRef< T, L > &r1)
 Template operator != function for CRef objects -- lhs is null.
template<class T, class L>
bool operator== (const CConstRef< T, L > &r1, ENull)
 Template operator == function for CConstRef objects -- rhs is null.
template<class T, class L>
bool operator== (ENull, const CConstRef< T, L > &r1)
 Template operator == function for CConstRef objects -- lhs is null.
template<class T, class L>
bool operator!= (const CConstRef< T, L > &r1, ENull)
 Template operator != function for CConstRef objects -- rhs is null.
template<class T, class L>
bool operator!= (ENull, const CConstRef< T, L > &r1)
 Template operator != function for CConstRef objects -- lhs is null.
template<class C>
CRef< C > Ref (C *object)
 Template function for conversion of object pointer to CRef.
template<class C>
CConstRef< C > ConstRef (const C *object)
 Template function for conversion of const object pointer to CConstRef.
template<class C, class L>
END_NCBI_SCOPE 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::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)


Function Documentation

template<class C, class L>
void swap NCBI_NS_NCBI::CWeakIRef< C, L > &  ref1,
NCBI_NS_NCBI::CWeakIRef< C, L > &  ref2
[inline]
 

Definition at line 2347 of file ncbiobj.hpp.

template<class C, class L>
void swap NCBI_NS_NCBI::CWeakRef< C, L > &  ref1,
NCBI_NS_NCBI::CWeakRef< C, L > &  ref2
[inline]
 

Definition at line 2338 of file ncbiobj.hpp.

template<class C, class L>
void swap NCBI_NS_NCBI::CConstRef< C, L > &  ref1,
NCBI_NS_NCBI::CConstRef< C, L > &  ref2
[inline]
 

Definition at line 2329 of file ncbiobj.hpp.

template<class C, class L>
END_NCBI_SCOPE BEGIN_STD_SCOPE void swap NCBI_NS_NCBI::CRef< C, L > &  ref1,
NCBI_NS_NCBI::CRef< C, L > &  ref2
[inline]
 

Definition at line 2320 of file ncbiobj.hpp.


Generated on Mon Sep 29 04:20:43 2008 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Sep 29 16:07:44 2008 by modify_doxy.py rev. 117643