XRootD
XrdSsiRRTableItem< T > Class Template Reference

#include <XrdSsiRRTable.hh>

+ Collaboration diagram for XrdSsiRRTableItem< T >:

Public Member Functions

 XrdSsiRRTableItem ()
 
 XrdSsiRRTableItem (const XrdSsiRRTableItem &other)=delete
 
 XrdSsiRRTableItem (T *_item, XrdSsiRRTable< T > *_tab, uint64_t itemID)
 
 XrdSsiRRTableItem (XrdSsiRRTableItem &&other)
 
 ~XrdSsiRRTableItem ()
 
 operator bool () const
 
T & operator* ()
 
T * operator-> ()
 
XrdSsiRRTableItemoperator= (const XrdSsiRRTableItem &)=delete
 
XrdSsiRRTableItemoperator= (XrdSsiRRTableItem &&other)
 
T * release ()
 
uint64_t reqID () const
 
void reset ()
 

Detailed Description

template<class T>
class XrdSsiRRTableItem< T >

Definition at line 42 of file XrdSsiRRTable.hh.

Constructor & Destructor Documentation

◆ XrdSsiRRTableItem() [1/4]

template<class T >
XrdSsiRRTableItem< T >::XrdSsiRRTableItem ( )
inline

Definition at line 45 of file XrdSsiRRTable.hh.

45 : item(0) { }

◆ XrdSsiRRTableItem() [2/4]

template<class T >
XrdSsiRRTableItem< T >::XrdSsiRRTableItem ( T *  _item,
XrdSsiRRTable< T > *  _tab,
uint64_t  itemID 
)
inline

Definition at line 47 of file XrdSsiRRTable.hh.

47  :
48  item(_item), tab(_tab), reqid(itemID) { }

◆ XrdSsiRRTableItem() [3/4]

template<class T >
XrdSsiRRTableItem< T >::XrdSsiRRTableItem ( XrdSsiRRTableItem< T > &&  other)
inline

Definition at line 50 of file XrdSsiRRTable.hh.

50  : item(other.item), tab(other.tab),
51  reqid(other.reqid) { other.item = 0; }

◆ XrdSsiRRTableItem() [4/4]

template<class T >
XrdSsiRRTableItem< T >::XrdSsiRRTableItem ( const XrdSsiRRTableItem< T > &  other)
delete

◆ ~XrdSsiRRTableItem()

template<class T >
XrdSsiRRTableItem< T >::~XrdSsiRRTableItem ( )
inline

Definition at line 65 of file XrdSsiRRTable.hh.

65 { reset(); }

References XrdSsiRRTableItem< T >::reset().

+ Here is the call graph for this function:

Member Function Documentation

◆ operator bool()

template<class T >
XrdSsiRRTableItem< T >::operator bool ( ) const
inlineexplicit

Definition at line 67 of file XrdSsiRRTable.hh.

67 { return item != nullptr; }

◆ operator*()

template<class T >
T& XrdSsiRRTableItem< T >::operator* ( )
inline

Definition at line 69 of file XrdSsiRRTable.hh.

69 { return *item; }

◆ operator->()

template<class T >
T* XrdSsiRRTableItem< T >::operator-> ( )
inline

Definition at line 70 of file XrdSsiRRTable.hh.

70 { return item; }

◆ operator=() [1/2]

template<class T >
XrdSsiRRTableItem& XrdSsiRRTableItem< T >::operator= ( const XrdSsiRRTableItem< T > &  )
delete

◆ operator=() [2/2]

template<class T >
XrdSsiRRTableItem& XrdSsiRRTableItem< T >::operator= ( XrdSsiRRTableItem< T > &&  other)
inline

Definition at line 57 of file XrdSsiRRTable.hh.

58  {item = other.item;
59  tab = other.tab;
60  reqid = other.reqid;
61  other.item = 0;
62  return *this;
63  }

◆ release()

template<class T >
T* XrdSsiRRTableItem< T >::release ( )
inline

Definition at line 74 of file XrdSsiRRTable.hh.

74 { T* itm=item; item=0; return itm; }

◆ reqID()

template<class T >
uint64_t XrdSsiRRTableItem< T >::reqID ( ) const
inline

Definition at line 76 of file XrdSsiRRTable.hh.

76 { return reqid; }

◆ reset()

template<class T >
void XrdSsiRRTableItem< T >::reset ( )
inline

Definition at line 72 of file XrdSsiRRTable.hh.

72 { if (item) {tab->Release(item, reqid); item=0;} }

Referenced by XrdSsiRRTableItem< T >::~XrdSsiRRTableItem().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: