/* basics.c */
#include "../Ideq.h"
/*--------------------------------------------------------------------*/
/*
-----------------------------------------------------
create and return a new instance of the Ideq object
created -- 96jun06, cca
-----------------------------------------------------
*/
Ideq *
Ideq_new (
void
) {
Ideq *deq ;
ALLOCATE(deq, struct _Ideq, 1) ;
Ideq_setDefaultFields(deq) ;
return(deq) ; }
/*--------------------------------------------------------------------*/
/*
-------------------------------------------
set the default fields for an Ideq object
created -- 96jun06, cca
-------------------------------------------
*/
void
Ideq_setDefaultFields (
Ideq *deq
) {
if ( deq == NULL ) {
fprintf(stderr, "\n fatal error in Ideq_setDefaultFields(%p)"
"\n deq is NULL\n", deq) ;
exit(-1) ;
}
deq->maxsize = 0 ;
deq->head = -1 ;
deq->tail = -1 ;
IV_setDefaultFields(&deq->iv) ;
return ; }
/*--------------------------------------------------------------------*/
/*
-----------------------
clear the data fields
created -- 96jun06, cca
-----------------------
*/
void
Ideq_clearData (
Ideq *deq
) {
if ( deq == NULL ) {
fprintf(stderr, "\n fatal error in Ideq_clearData(%p)"
"\n deq is NULL\n", deq) ;
exit(-1) ;
}
IV_clearData(&deq->iv) ;
Ideq_setDefaultFields(deq) ;
return ; }
/*--------------------------------------------------------------------*/
/*
-----------------------
free the Ideq object
created -- 96jun06, cca
-----------------------
*/
void
Ideq_free (
Ideq *deq
) {
if ( deq == NULL ) {
fprintf(stderr, "\n fatal error in Ideq_free(%p)"
"\n deq is NULL\n", deq) ;
exit(-1) ;
}
Ideq_clearData(deq) ;
FREE(deq) ;
return ; }
/*--------------------------------------------------------------------*/
syntax highlighted by Code2HTML, v. 0.9.1