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 {
  SUCCESS , UNINITIALIZED , 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 >::ForcePush (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 >::PopAll (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 >::PopWait (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

◆ ForcePush()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::ForcePush ( 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.

◆ PopAll()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::PopAll ( 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.

◆ PopWait()

template<typename QueueType , size_t QueueSize>
QueueStatus fsb::Queue< QueueType, QueueSize >::PopWait ( 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.