mn::queue::basic_deque Class Reference

#include <mn_deque.hpp>

+ Inheritance diagram for mn::queue::basic_deque:
+ Collaboration diagram for mn::queue::basic_deque:

Public Member Functions

 basic_deque (unsigned int maxItems, unsigned int itemSize)
 
virtual int enqueue_front (void *item, unsigned int timeout=MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT)
 
- Public Member Functions inherited from mn::queue::basic_queue
 basic_queue (unsigned int maxItems, unsigned int itemSize)
 
virtual ~basic_queue ()
 
virtual int create ()
 
virtual int destroy ()
 
virtual int enqueue (void *item, unsigned int timeout=MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT)
 
virtual int peek (void *item, unsigned int timeout=MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT)
 
virtual int dequeue (void *item, unsigned int timeout=MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT)
 
virtual bool is_empty ()
 
virtual bool is_full ()
 
virtual int clear ()
 
virtual unsigned int get_num_items ()
 
virtual unsigned int get_left ()
 
void * get_handle ()
 

Additional Inherited Members

- Protected Attributes inherited from mn::queue::basic_queue
void * m_pHandle
 
unsigned int m_imaxItems
 
unsigned int m_iitemSize
 

Detailed Description

A deque class that implements a double ended queue.

Constructor & Destructor Documentation

◆ basic_deque()

mn::queue::basic_deque::basic_deque ( unsigned int  maxItems,
unsigned int  itemSize 
)
inline

ctor

Parameters
itemSizeSize of an item in a queue.

Member Function Documentation

◆ enqueue_front()

int mn::queue::basic_deque::enqueue_front ( void *  item,
unsigned int  timeout = MN_THREAD_CONFIG_TIMEOUT_QUEUE_DEFAULT 
)
virtual

Add an item to the front of the queue. This will result in the item being removed first, ahead of all of the items added by the base cal dequeue() function.

Parameters
itemThe item you are adding.
TimeoutHow long to wait to add the item to the queue if the queue is currently full.
Returns
  • ERR_QUEUE_OK The item was added
  • ERR_QUEUE_ADD The item was not added to dequeue
  • ERR_QUEUE_NOTCREATED The queue was not created

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