This is Unofficial EPICS BASE Doxygen Site
tsSLList< T > Class Template Reference

#include "tsSLList.h"

+ Inheritance diagram for tsSLList< T >:
+ Collaboration diagram for tsSLList< T >:

Public Member Functions

 tsSLList ()
 
 tsSLList (tsSLList &)
 
void insert (T &item, tsSLNode< T > &itemBefore)
 
void add (T &item)
 
T * get ()
 
T * pop ()
 
void push (T &item)
 
T * first () const
 
void remove (T &itemBefore)
 
tsSLIterConst< T > firstIter () const
 
tsSLIter< T > firstIter ()
 
- Public Member Functions inherited from tsSLNode< T >
 tsSLNode ()
 
tsSLNode< T > & operator= (const tsSLNode< T > &)
 

Static Public Member Functions

static tsSLIterConst< T > invalidConstIter ()
 
static tsSLIter< T > invalidIter ()
 

Detailed Description

template<class T>
class tsSLList< T >

Definition at line 29 of file tsSLList.h.

Constructor & Destructor Documentation

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

Definition at line 180 of file tsSLList.h.

181 {
182 }
template<class T >
tsSLList< T >::tsSLList ( tsSLList< T > &  listIn)
inline

Definition at line 188 of file tsSLList.h.

189 {
190  this->pNext = listIn.pNext;
191  listIn.pNext = 0;
192 }

Member Function Documentation

template<class T>
void tsSLList< T >::add ( T &  item)
inline

Definition at line 211 of file tsSLList.h.

212 {
213  this->insert ( item, *this );
214 }
Internal: bucket item structure.
Definition: bucketLib.h:40
void insert(T &item, tsSLNode< T > &itemBefore)
Definition: tsSLList.h:200
template<class T >
T * tsSLList< T >::first ( void  ) const
inline

Definition at line 247 of file tsSLList.h.

248 {
249  const tsSLNode < T > *pThisNode = this;
250  return pThisNode->pNext;
251 }
template<class T >
tsSLIterConst< T > tsSLList< T >::firstIter ( ) const
inline

Definition at line 262 of file tsSLList.h.

263 {
264  const tsSLNode < T > *pThisNode = this;
265  return tsSLIterConst <T> ( pThisNode->pNext );
266 }
template<class T >
tsSLIter< T > tsSLList< T >::firstIter ( )
inline

Definition at line 269 of file tsSLList.h.

270 {
271  tsSLNode < T > *pThisNode = this;
272  return tsSLIter <T> ( pThisNode->pNext );
273 }
template<class T >
T * tsSLList< T >::get ( )
inline

Definition at line 220 of file tsSLList.h.

221 {
222  tsSLNode < T > *pThisNode = this;
223  T *pItem = pThisNode->pNext;
224  pThisNode->removeNextItem ();
225  return pItem;
226 }
template<class T>
void tsSLList< T >::insert ( T &  item,
tsSLNode< T > &  itemBefore 
)
inline

Definition at line 200 of file tsSLList.h.

201 {
202  tsSLNode < T > &node = item;
203  node.pNext = itemBefore.pNext;
204  itemBefore.pNext = &item;
205 }
Internal: bucket item structure.
Definition: bucketLib.h:40
template<class T >
tsSLIterConst< T > tsSLList< T >::invalidConstIter ( )
inlinestatic

Definition at line 276 of file tsSLList.h.

277 {
278  return tsSLIterConst <T> ( 0 );
279 }
template<class T >
tsSLIter< T > tsSLList< T >::invalidIter ( )
inlinestatic

Definition at line 282 of file tsSLList.h.

283 {
284  return tsSLIter <T> ( 0 );
285 }
template<class T >
T * tsSLList< T >::pop ( )
inline

Definition at line 232 of file tsSLList.h.

233 {
234  return this->get ();
235 }
template<class T>
void tsSLList< T >::push ( T &  item)
inline

Definition at line 241 of file tsSLList.h.

242 {
243  this->add (item);
244 }
Internal: bucket item structure.
Definition: bucketLib.h:40
void add(T &item)
Definition: tsSLList.h:211
template<class T>
void tsSLList< T >::remove ( T &  itemBefore)
inline

Definition at line 254 of file tsSLList.h.

255 {
256  tsSLNode < T > *pBeforeNode = &itemBefore;
257  tsSLNode < T > *pAfterNode = pBeforeNode->pNext;
258  pBeforeNode->pNext = pAfterNode->pNext;
259 }

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