## 4.6 The class `PEL_PropQueue`

`PEL_PropQueue` [constructor]

  > `PEL_PropQueue(void);`

  Constructs a propagation queue.

`enqueue` [member function]

  > `void enqueue(int fnct_idx);`

  Enqueue a propagation function index `fnct_idx`. The propagation function index is related to a propagation function table.

`dequeue` [member function]

  > `int dequeue(void);`

  Returns a propagation function index.

`apply` [member function]

  > > `pf_return_t apply(PEL_PropFnctTable &pft,
  > > PEL_ParamTable &pt,
  > > PEL_SuspVar * []);`

  Dequeues an index and applies the corresponding propagation function closure of `pft`. It returns the value returned by the propagation function.

`isEmpty` [member function]

  > `int isEmpty(void);`

  Tests if the queue is empty.

`setFailed` [member function]

  > `void setFailed(void);`

  Sets the queue failed.

`isFailed` [member function]

  > `int isFailed(void);`

  Tests if the queue is failed.

`isBasic` [member function]

  > `int isBasic(void);`

  Tests if all propagation functions registered with the queue have ceased to exist.

`incAPF` [member function]

  > `void incAPF(void);`

  Increments the registration counter by 1.

`decAPF` [member function]

  > `void decAPF(void);`

  Decrements the registration counter by 1.

`reset` [member function]

  > `void reset(void);`

  Resets the queue. (???)

`getSize` [member function]

  > `int getSize(void);`

  Returns the number of queued propagation function entry indicies.