//--------------------------------------------------------
//   F i s i e r u l       m u l t i m e . h
//--------------------------------------------------------
#ifndef _MULTIMI_H_
#define _MULTIMI_H_
#include "data.h"

// proprietati TDA
struct multime
{
    int n;	// numarul de elemente
    char *pv;	// pointerul zonei de octeti
};
typedef struct multime Multime,*MULTIME;

// metode (operatii) TDA
MULTIME newSet(int n);
MULTIME insert(MULTIME e, DATA x);
MULTIME Delete(MULTIME e, DATA x);
LOGIC member(MULTIME e, DATA x);
int cardinal(MULTIME e);
MULTIME Union(MULTIME A, MULTIME B);
MULTIME intersect(MULTIME A, MULTIME B);
MULTIME diff(MULTIME A, MULTIME B);
MULTIME complementara(MULTIME A);
char *conv_multime_sir(MULTIME e, char *zona);
LOGIC isEmptySet(MULTIME e);
LOGIC isUniverse(MULTIME e);
void destroySet(MULTIME e);

#endif

