Go to the documentation of this file.Go to the SVN repository for this file.
1 #ifndef CONNECT_SERVICES__NET_OBJECT_HPP
2 #define CONNECT_SERVICES__NET_OBJECT_HPP
54 void Lock(
const S*
object)
const
72 reinterpret_cast<const CObject*
>(
object));
79 reinterpret_cast<const CObject*
>(
object), old_locker);
89 #define NCBI_NET_COMPONENT_DEF(Class, Impl) \
91 CNetRef<Impl> m_Impl; \
93 typedef Impl* TInstance; \
95 Class(Impl* impl) : m_Impl(impl) {} \
96 Class& operator =(Impl* impl) { m_Impl = impl; return *this; } \
97 operator Impl*() { return m_Impl.GetPointer(); } \
98 operator const Impl*() const { return m_Impl.GetPointer(); } \
99 Impl& operator --(int) { return m_Impl.GetObject(); } \
100 const Impl& operator --(int) const { return m_Impl.GetObject(); } \
101 Impl* operator ->() { return m_Impl.GetPointer(); } \
102 const Impl* operator ->() const { return m_Impl.GetPointer(); }
104 #define NCBI_NET_COMPONENT_IMPL(component) \
105 NCBI_NET_COMPONENT_DEF(C##component, S##component##Impl)
107 #define NCBI_NET_COMPONENT(component) \
108 NCBI_NET_COMPONENT_IMPL(component) \
void TransferLock(const S *object, const CNetComponentCounterLocker &old_locker) const
void Relock(const S *object) const
void Lock(const S *object) const
void Unlock(const S *object) const
void UnlockRelease(const S *object) const
void TransferLock(const CObject *object, const CObjectCounterLocker &old_locker) const
void Relock(const CObject *object) const
void UnlockRelease(const CObject *object) const
void Unlock(const CObject *object) const
void Lock(const CObject *object) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
S & operator--(CNetRef< S > &r, int)
EVoid
To create a void (uninitialized) component instance.
@ eVoid
To create a void (uninitialized) instance of a component.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)