#include <IbexQueue.h>
Inherits ibex::Queue.
Public Member Functions | |
| CoupleQueue (int nb_ctr, int nb_var) | |
| void | push (int ctr, int var) |
| void | pop (int &ctr, int &var) |
| void | flush () |
| bool | empty () const |
Public Attributes | |
| const int | nb_ctr |
| const int | nb_var |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const CoupleQueue &q) |
This class has to be used instead of the STL queue class to avoid pushing twice the same element.
| ibex::CoupleQueue::CoupleQueue | ( | int | nb_ctr, | |
| int | nb_var | |||
| ) | [inline] |
Create a propagation queue for variable/constraint pairs.
| nb_ctr | - The number of constraints. | |
| nb_var | - The number of variables. |
| void ibex::CoupleQueue::push | ( | int | ctr, | |
| int | var | |||
| ) | [inline] |
| void ibex::CoupleQueue::pop | ( | int & | ctr, | |
| int & | var | |||
| ) | [inline] |
Pop a pair variable/constraint from the propagation queue.
| ctr | - (out) the popped constraint | |
| var | - (out) the popped variable |
| void ibex::CoupleQueue::flush | ( | ) | [inline] |
Flush the propagation queue.
| bool ibex::CoupleQueue::empty | ( | ) | const [inline] |
Return true if the propagation queue is empty.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const CoupleQueue & | q | |||
| ) | [friend] |
Stream out the queue.
| const int ibex::CoupleQueue::nb_ctr |
Number of constraints.
| const int ibex::CoupleQueue::nb_var |
Number of variables.
1.5.5