FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
Queue

Queue. More...

Classes

class  fsb::Queue< QueueType, QueueSize >
 Queue. More...
 

Enumerations

enum class  QueueStatus : uint8_t {
  UNINITIALIZED , SUCCESS , FULL , OVERWRITE ,
  TIMEOUT , ERROR
}
 

Functions

 fsb::Queue< QueueType, QueueSize >::Queue (const Queue &)=delete
 
Queuefsb::Queue< QueueType, QueueSize >::operator= (const Queue &)=delete
 
 fsb::Queue< QueueType, QueueSize >::Queue (Queue &&)=delete
 
Queuefsb::Queue< QueueType, QueueSize >::operator= (Queue &&)=delete
 
QueueStatus fsb::Queue< QueueType, QueueSize >::push (QueueType push_value)
 Add value to buffer if there is space available.
 
QueueStatus fsb::Queue< QueueType, QueueSize >::force_push (QueueType push_value)
 Add value to buffer and overwrite oldest value if buffer is full.
 
QueueStatus fsb::Queue< QueueType, QueueSize >::pop (QueueType &popped_value)
 Get oldest value from buffer.
 
QueueStatus fsb::Queue< QueueType, QueueSize >::pop_all (std::array< QueueType, QueueSize > &popped_values, size_t &num_popped)
 Wait for a new value to be added to the buffer, then pop all values.
 
QueueStatus fsb::Queue< QueueType, QueueSize >::pop_wait (std::array< QueueType, QueueSize > &popped_values, size_t &num_popped, const struct timespec &timeout)
 Wait for a new value to be added to the buffer, then pop all values.
 
QueueStatus fsb::Queue< QueueType, QueueSize >::reset ()
 Reset buffer to empty state.
 

Detailed Description

Queue.

Function Documentation

◆ force_push()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::force_push ( QueueType  push_value)
inline

Add value to buffer and overwrite oldest value if buffer is full.

Parameters
push_valueNew value to add to buffer.
Returns
Status of operation.

◆ pop()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::pop ( QueueType &  popped_value)
inline

Get oldest value from buffer.

Parameters
popped_valueOldest value in buffer.
Returns
Status of operation.

◆ pop_all()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::pop_all ( std::array< QueueType, QueueSize > &  popped_values,
size_t &  num_popped 
)
inline

Wait for a new value to be added to the buffer, then pop all values.

Parameters
popped_valuesAll values removed from buffer.
num_poppedNumber of values removed from buffer.
Returns
Status of operation.

◆ pop_wait()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::pop_wait ( std::array< QueueType, QueueSize > &  popped_values,
size_t &  num_popped,
const struct timespec &  timeout 
)
inline

Wait for a new value to be added to the buffer, then pop all values.

Parameters
popped_valuesAll values removed from buffer.
num_poppedNumber of values removed from buffer.
timeoutMaximum time to wait for new data.
Returns
Status of operation.

◆ push()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::push ( QueueType  push_value)
inline

Add value to buffer if there is space available.

Parameters
push_valueNew value to add to buffer.
Returns
Status of operation.