Mescal
Loading...
Searching...
No Matches
type_dequeue_gen.h File Reference

Implementation of generic dequeues which store void pointers. More...

#include <stdbool.h>
#include "type_basic.h"

Go to the source code of this file.

Classes

struct  dequeue_gen
 Type used to represent a generic dequeue. More...
 

Functions

dequeue_gencreate_dequeue_gen (void)
 Creation of an empty dequeue.
 
void delete_dequeue_gen (dequeue_gen *)
 Release of a dequeue.
 
uint size_dequeue_gen (dequeue_gen *)
 Computes the size of a dequeue.
 
bool isempty_dequeue_gen (dequeue_gen *)
 Tests whether a dequeue is empty.
 
void makeempty_dequeue_gen (dequeue_gen *)
 Empties a dequeue.
 
void lefins_dequeue_gen (void *, dequeue_gen *)
 Inserts a new value on the left of a dequeue.
 
void rigins_dequeue_gen (void *, dequeue_gen *)
 Inserts a new value on the right of a dequeue.
 
void * lefread_dequeue_gen (dequeue_gen *, uint)
 Read a value inside a dequeue without removing it (left-right version).
 
void * rigread_dequeue_gen (dequeue_gen *, uint)
 Read a value inside a dequeue without removing it (right-left version).
 
void * lefpull_dequeue_gen (dequeue_gen *)
 Removes the leftmost value of a dequeue.
 
void * rigpull_dequeue_gen (dequeue_gen *)
 Removes the rightmost value of a dequeue.
 

Detailed Description

Implementation of generic dequeues which store void pointers.

Function Documentation

◆ create_dequeue_gen()

dequeue_gen * create_dequeue_gen ( void )

Creation of an empty dequeue.

Returns
The dequeue.

◆ delete_dequeue_gen()

void delete_dequeue_gen ( dequeue_gen * p)

Release of a dequeue.

Parameters
pThe dequeue.

◆ isempty_dequeue_gen()

bool isempty_dequeue_gen ( dequeue_gen * p)

Tests whether a dequeue is empty.

Returns
. A Boolean indicating whether the dequeue is empty.
Parameters
pThe dequeue.

◆ lefins_dequeue_gen()

void lefins_dequeue_gen ( void * val,
dequeue_gen * p )

Inserts a new value on the left of a dequeue.

Parameters
valThe value.
pThe dequeue.

◆ lefpull_dequeue_gen()

void * lefpull_dequeue_gen ( dequeue_gen * p)

Removes the leftmost value of a dequeue.

Returns
The removed value.
Parameters
pThe dequeue.

◆ lefread_dequeue_gen()

void * lefread_dequeue_gen ( dequeue_gen * p,
uint i )

Read a value inside a dequeue without removing it (left-right version).

Remarks
Values are indexed from left to right (the leftmost one has index 0).
Returns
The value.
Parameters
pThe dequeue.
iThe index of the value.

◆ makeempty_dequeue_gen()

void makeempty_dequeue_gen ( dequeue_gen * p)

Empties a dequeue.

Parameters
pThe dequeue.

◆ rigins_dequeue_gen()

void rigins_dequeue_gen ( void * val,
dequeue_gen * p )

Inserts a new value on the right of a dequeue.

Parameters
valThe value.
pThe dequeue.

◆ rigpull_dequeue_gen()

void * rigpull_dequeue_gen ( dequeue_gen * p)

Removes the rightmost value of a dequeue.

Returns
The removed value.
Parameters
pThe dequeue.

◆ rigread_dequeue_gen()

void * rigread_dequeue_gen ( dequeue_gen * p,
uint i )

Read a value inside a dequeue without removing it (right-left version).

Remarks
Values are indexed from right to left (the rightmost one has index 0).
Returns
The value.
Parameters
pThe dequeue.
iThe index of the value.

◆ size_dequeue_gen()

uint size_dequeue_gen ( dequeue_gen * p)

Computes the size of a dequeue.

Returns
The size.
Parameters
pThe dequeue.