| Hedgehog
    3.1.0
    A library to generate hybrid pipeline workflow systems | 
Concrete implementation of the receiver core abstraction for a type using a std::queue. More...
#include "queue_receiver.h"


| Public Member Functions | |
| QueueReceiver () | |
| Default constructor. | |
| virtual | ~QueueReceiver ()=default | 
| Default destructor. | |
| void | receive (std::shared_ptr< Input > const data) final | 
| Receive a data and store it in the queue. | |
| std::shared_ptr< Input > | getInputData () override | 
| Get a data from the queue. | |
| size_t | numberElementsReceived () const override | 
| Accessor to the current size of the queue. | |
| size_t | maxNumberElementsReceived () const override | 
| Accessor to the maximum queue size. | |
| bool | empty () const override | 
| Test if the queue is empty. | |
| std::set< abstraction::SenderAbstraction< Input > * > const & | connectedSenders () const override | 
| Accessor to the set of connected senders. | |
| void | addSender (abstraction::SenderAbstraction< Input > *const sender) override | 
| Add a sender to the set of connected senders. | |
| void | removeSender (abstraction::SenderAbstraction< Input > *const sender) override | 
| Remove a sender to the set of connected senders. | |
|  Public Member Functions inherited from hh::core::implementor::ImplementorReceiver< Input > | |
| ImplementorReceiver () | |
| Default constructor. | |
| virtual | ~ImplementorReceiver ()=default | 
| Default destructor. | |
| std::set< abstraction::ReceiverAbstraction< Input > * > & | receivers () | 
| Accessor to the linked ReceiverAbstraction. | |
| virtual void | initialize (abstraction::ReceiverAbstraction< Input > *receiverAbstraction) | 
| Initialize the implementor Receiver by setting the corresponding abstraction. | |
| virtual std::set< abstraction::SenderAbstraction< Input > * > const & | connectedSenders () const =0 | 
| Accessor to the connected senders. | |
| virtual void | addSender (abstraction::SenderAbstraction< Input > *sender)=0 | 
| Add a SenderAbstraction. | |
| virtual void | removeSender (abstraction::SenderAbstraction< Input > *sender)=0 | 
| Remove a SenderAbstraction. | |
| virtual void | receive (std::shared_ptr< Input > data)=0 | 
| Receive data interface. | |
| virtual std::shared_ptr< Input > | getInputData ()=0 | 
| Accessor to a received data. | |
| virtual size_t | numberElementsReceived () const =0 | 
| Accessor to number of data waiting to be processed in the queue. | |
| virtual size_t | maxNumberElementsReceived () const =0 | 
| Accessor to the maximum number of data waiting to be processed in the queue during the whole execution. | |
| virtual bool | empty () const =0 | 
| Test if the receiver is empty or not. | |
| Private Attributes | |
| std::unique_ptr< std::queue< std::shared_ptr< Input > > > const | queue_ = nullptr | 
| Queue storing to be processed data. | |
| std::unique_ptr< std::set< abstraction::SenderAbstraction< Input > * > > const | senders_ = nullptr | 
| List of senders attached to this receiver. | |
| size_t | maxSize_ = 0 | 
| Maximum size attained by the queue. | |
| Additional Inherited Members | |
|  Protected Attributes inherited from hh::core::implementor::ImplementorReceiver< Input > | |
| std::unique_ptr< std::set< abstraction::ReceiverAbstraction< Input > * > > | abstractReceivers_ = nullptr | 
| Set of linked ReceiverAbstraction. | |
Concrete implementation of the receiver core abstraction for a type using a std::queue.
| Input | Input data type | 
Definition at line 51 of file queue_receiver.h.
| 
 | inlineexplicit | 
Default constructor.
Definition at line 64 of file queue_receiver.h.
| 
 | virtualdefault | 
Default destructor.
| 
 | inlineoverridevirtual | 
Add a sender to the set of connected senders.
| sender | Sender to add | 
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 108 of file queue_receiver.h.
| 
 | inlineoverridevirtual | 
Accessor to the set of connected senders.
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 102 of file queue_receiver.h.
| 
 | inlineoverridevirtual | 
Test if the queue is empty.
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 98 of file queue_receiver.h.
| 
 | inlineoverridevirtual | 
Get a data from the queue.
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 81 of file queue_receiver.h.
| 
 | inlineoverridevirtual | 
Accessor to the maximum queue size.
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 94 of file queue_receiver.h.
| 
 | inlineoverridevirtual | 
Accessor to the current size of the queue.
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 90 of file queue_receiver.h.
| 
 | inlinefinalvirtual | 
Receive a data and store it in the queue.
| data | Data to store | 
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 73 of file queue_receiver.h.
| 
 | inlineoverridevirtual | 
Remove a sender to the set of connected senders.
| sender | Sender to remove | 
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 112 of file queue_receiver.h.
| 
 | private | 
Maximum size attained by the queue.
Definition at line 60 of file queue_receiver.h.
| 
 | private | 
Queue storing to be processed data.
Definition at line 54 of file queue_receiver.h.
| 
 | private | 
List of senders attached to this receiver.
Definition at line 57 of file queue_receiver.h.