SIS
Symmetric Index Structures
|
00001 #ifndef _HEADER_FILE_VOIDSEQUENCE_ 00002 #define _HEADER_FILE_VOIDSEQUENCE_ 00003 00004 #define ENCODING_PLAIN (0) 00005 #define ENCODING_UTF8 (1) 00006 00007 #define mVoidSequenceElement( voidseq, position ) ((voidseq)->seq + ((position)*(voidseq)->elementSize)) 00008 00009 typedef struct tVoidSequence{ 00010 void * seq; 00011 UINT seqStored; 00012 UINT seqAlloced; 00013 SINT growth; 00014 UINT elementSize; 00015 } VoidSequence; 00016 00017 VoidSequence * VoidSequenceInit( UINT elementSize ); 00018 VoidSequence * VoidSequenceInit2( UINT elementSize, UINT seqAlloced, SINT growth ); 00019 void VoidSequenceFree( VoidSequence * seq ); 00020 void VoidSequenceAdd( VoidSequence * seq, const void * elementToAdd ); 00021 void VoidSequenceSet( VoidSequence * seq, UINT position, const void * element ); 00022 void VoidSequenceWrite( VoidSequence * seq, FILE * fp, UINT * sizes, UINT numberOfSizes ); 00023 VoidSequence * VoidSequenceRead( FILE * fp ); 00024 void VoidSequenceShrink( VoidSequence * seq ); 00025 void VoidSequenceAppend( VoidSequence * seq, const VoidSequence * s ); 00026 void VoidSequenceCpy( VoidSequence * dest, const VoidSequence * src ); 00027 VoidSequence * VoidSequenceReadLine( FILE * fp, UINT symbolSize, UINT encoding ); 00028 void VoidSequenceReverse( VoidSequence * seq ); 00029 void VoidSequenceTrim( VoidSequence * seq ); 00030 00031 #endif