Mistake on this page?
Report an issue in GitHub or email us
Public Member Functions
OperationListBase Class Reference
Inheritance diagram for OperationListBase:
OperationList< T > OperationList< AsyncRead > OperationList< AsyncSend > OperationList< AsyncWait > OperationList< AsyncWrite >

Public Member Functions

 OperationListBase ()
 Create a new empty operation list. More...
 
 ~OperationListBase ()
 Destroy this object and abort all operations. More...
 
bool empty ()
 Check if the list is empty. More...
 
void add (AsyncOp *op)
 Add an operation to the list. More...
 
void remove (AsyncOp *op)
 Remove an operation from the list. More...
 
AsyncOpdequeue_raw ()
 Dequeue the head of the list. More...
 
void remove_all ()
 Abort all operations. More...
 
void process ()
 Process the operation list. More...
 

Detailed Description

Definition at line 30 of file OperationListBase.h.

Constructor & Destructor Documentation

Create a new empty operation list.

Destroy this object and abort all operations.

Member Function Documentation

void add ( AsyncOp op)

Add an operation to the list.

If the list was empty then call process on this operation

Parameters
opOperation to add
AsyncOp* dequeue_raw ( )

Dequeue the head of the list.

Remove the head of the operation list without completing it or processing the next element. The caller must call the AsnycOp::complete() function of the returned object. Additionally process() must be called on this object if there are still elements in the list.

Returns
The asynchronous op at the head of the list
bool empty ( )

Check if the list is empty.

Returns
true if the list is empty false otherwise
void process ( )

Process the operation list.

This allow the operation at the head of the list to perform processing

void remove ( AsyncOp op)

Remove an operation from the list.

If this was the head of the list then process the next element in the list.

Parameters
opOperation to remove
void remove_all ( )

Abort all operations.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.