NCBI C++ ToolKit
Classes | Macros | Typedefs | Enumerations | Functions
netcomponent.hpp File Reference
#include <connect/connect_export.h>
#include <corelib/ncbiobj.hpp>
#include <corelib/ncbicntr.hpp>
+ Include dependency graph for netcomponent.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

class  CNetComponentCounterLocker< S >
 

Macros

#define NCBI_NET_COMPONENT_DEF(Class, Impl)
 
#define NCBI_NET_COMPONENT_IMPL(component)    NCBI_NET_COMPONENT_DEF(C##component, S##component##Impl)
 
#define NCBI_NET_COMPONENT(component)
 

Typedefs

template<class S >
using CNetRef = CRef< S, CNetComponentCounterLocker< S > >
 

Enumerations

enum  EVoid { eVoid }
 To create a void (uninitialized) component instance. More...
 

Functions

template<class S >
Soperator-- (CNetRef< S > &r, int)
 
template<class S >
const Soperator-- (const CNetRef< S > &r, int)
 

Macro Definition Documentation

◆ NCBI_NET_COMPONENT

#define NCBI_NET_COMPONENT (   component)
Value:
C##component() {}
#define NCBI_NET_COMPONENT_IMPL(component)

Definition at line 107 of file netcomponent.hpp.

◆ NCBI_NET_COMPONENT_DEF

#define NCBI_NET_COMPONENT_DEF (   Class,
  Impl 
)
Value:
protected: \
CNetRef<Impl> m_Impl; \
public: \
typedef Impl* TInstance; \
Class(EVoid) {} \
Class(Impl* impl) : m_Impl(impl) {} \
Class& operator =(Impl* impl) { m_Impl = impl; return *this; } \
operator Impl*() { return m_Impl.GetPointer(); } \
operator const Impl*() const { return m_Impl.GetPointer(); } \
Impl& operator --(int) { return m_Impl.GetObject(); } \
const Impl& operator --(int) const { return m_Impl.GetObject(); } \
Impl* operator ->() { return m_Impl.GetPointer(); } \
const Impl* operator ->() const { return m_Impl.GetPointer(); }
TDerived * Impl(TBaseRef &base_ref)
Definition: netstorage.cpp:44
S & operator--(CNetRef< S > &r, int)
EVoid
To create a void (uninitialized) component instance.
CSeq_id_Mapper TInstance

Definition at line 89 of file netcomponent.hpp.

◆ NCBI_NET_COMPONENT_IMPL

#define NCBI_NET_COMPONENT_IMPL (   component)     NCBI_NET_COMPONENT_DEF(C##component, S##component##Impl)

Definition at line 104 of file netcomponent.hpp.

Typedef Documentation

◆ CNetRef

template<class S >
using CNetRef = CRef<S, CNetComponentCounterLocker<S> >

Definition at line 84 of file netcomponent.hpp.

Enumeration Type Documentation

◆ EVoid

enum EVoid

To create a void (uninitialized) component instance.

Enumerator
eVoid 

To create a void (uninitialized) instance of a component.

Definition at line 46 of file netcomponent.hpp.

Function Documentation

◆ operator--() [1/2]

template<class S >
S& operator-- ( CNetRef< S > &  r,
int   
)
inline

Definition at line 86 of file netcomponent.hpp.

References r().

◆ operator--() [2/2]

template<class S >
const S& operator-- ( const CNetRef< S > &  r,
int   
)
inline

Definition at line 87 of file netcomponent.hpp.

References r().

Modified on Fri Jul 12 16:24:24 2024 by modify_doxy.py rev. 669887