SIS
Symmetric Index Structures
/Users/dbr/ma/src/bas/lml/voidSequence.h
Go to the documentation of this file.
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