#ifndef _H_OVOneToAny #define _H_OVOneToAny /* OneToAny: A bidirectional associative array for ov_words * * associates a unique ov_word to a unique ov_word in both forward and * reverse directions. * */ #include "OVHeap.h" #include "OVreturns.h" typedef struct _OVOneToAny OVOneToAny; OVOneToAny *OVOneToAny_New(OVHeap *heap); OVstatus OVOneToAny_Init(OVOneToAny *o2o,OVHeap *heap); void OVOneToAny_Purge(OVOneToAny *o2o); void OVOneToAny_Del(OVOneToAny *o2o); void OVOneToAny_Reset(OVOneToAny *up); OVreturn_word OVOneToAny_GetKey(OVOneToAny *o2o,ov_word forward_value); OVstatus OVOneToAny_SetKey(OVOneToAny *o2o, ov_word forward_value, ov_word reverse_value); OVstatus OVOneToAny_Pack(OVOneToAny *o2o); OVreturn_size OVOneToAny_GetSize(OVOneToAny *o2o); OVstatus OVOneToAny_DelKey(OVOneToAny *o2o,ov_word forward_value); void OVOneToAny_Stats(OVOneToAny *o2o); void OVOneToAny_Dump(OVOneToAny *o2o); #define OVOneToAny_DEL_AUTO_NULL(I) { if(I) { OVOneToAny_Del(I); I=OV_NULL; }} #endif