1 #ifndef __CONCURRENTLIST_H__
2 #define __CONCURRENTLIST_H__
5 #include "tools/Guard.h"
6 #include "tools/NoCopy.h"
53 void remove(
Guard &guard,
void *item);
61 class CPElement *list;
76 class CPElement *element);
94 class CPElement *next_element;
97 void getNext(
Guard &guard);
125 return (T *) iter.
next(guard);
ConcurrentListIterator(ConcurrentPtrListIterator iter)
Constructor.
Definition: ConcurrentList.h:109
A mutex with informational name and lock order.
Definition: OrderedMutex.h:34
class ConcurrentPtrListIterator iterator(Guard &guard)
Obtain iterator, positioned at the start of the list.
size_t size()
Definition: ConcurrentList.h:157
Iterator for ConcurrentPtrList.
Definition: ConcurrentList.h:68
OrderedMutex & getMutex()
Definition: ConcurrentList.h:27
bool removeIfFound(Guard &guard, void *item)
Remove an item from the list.
OrderedMutex & getMutex()
Definition: ConcurrentList.h:144
T * next()
Definition: ConcurrentList.h:122
ConcurrentList()
Constructor.
Definition: ConcurrentList.h:140
ConcurrentPtrList()
Construct a new list.
OrderedMutex & getMutex()
Definition: ConcurrentList.h:88
Automatically takes and releases an epicsMutex.
Definition: Guard.h:63
ConcurrentListIterator< T > iterator()
Definition: ConcurrentList.h:185
Type-save wrapper for ConcurrentPtrListIterator.
Definition: ConcurrentList.h:104
ConcurrentListIterator(const ConcurrentListIterator &rhs)
Copy constructor.
Definition: ConcurrentList.h:112
void add(Guard &guard, void *item)
Add an item to the list.
A List that allows concurrent access.
Definition: ConcurrentList.h:17
Interface for something that can be protected by a Guard.
Definition: Guard.h:49
ConcurrentPtrListIterator & operator=(const ConcurrentPtrListIterator &)
Copy operator.
ConcurrentListIterator & operator=(const ConcurrentListIterator &rhs)
Copy operator.
Definition: ConcurrentList.h:115
bool isEmpty()
Definition: ConcurrentList.h:150
Type-save wrapper for ConcurrentPtrList.
Definition: ConcurrentList.h:135
virtual ~ConcurrentPtrListIterator()
Destructor.
void remove(Guard &guard, void *item)
Remove an item from the list.
void * next(Guard &guard)
void add(T *item)
Definition: ConcurrentList.h:164
size_t size(Guard &guard)
virtual ~ConcurrentPtrList()
Delete list and all its elements.
ConcurrentPtrListIterator(Guard &guard, ConcurrentPtrList *list, class CPElement *element)
Constructor.
bool isEmpty(Guard &guard)
bool removeIfFound(void *item)
Definition: ConcurrentList.h:171