Main Page | Class List | File List | Class Members | File Members

viewiterator.h

00001 #ifndef _VIEWITERATOR_H
00002 #define _VIEWITERATOR_H
00003 #include "view.h"
00004 #include "tuple.h"
00005 #include "listnode.h"
00006 
00008 typedef struct _viewIterator ViewIterator;
00009 
00011 struct _viewIterator {
00012   View *view;              
00013   size_t vPos;             
00014   size_t chunkSize;        
00015   /* Stuff that changes with each increment. */
00016   unsigned int ntuple;     
00017   unsigned int ituple;     
00018   ListNode *lnode;         
00019   unsigned int ituplePos;  
00020   unsigned int itupleEnd;  
00021   char *segAddr;           
00022 };
00023 
00024 extern void viewIterator_Init(void *(*viewIterator_allocate)(size_t), void (*viewIterator_deallocate)(void *));
00025 
00026 extern ViewIterator *viewIterator_Create(View *view);
00027 
00028 extern void viewIterator_Delete(ViewIterator *viewIterator);
00029 
00030 extern unsigned int viewIterator_Inc(ViewIterator *vi, char *c);
00031 
00032 extern size_t viewIterator_GetViewPos(const ViewIterator *vi);
00033 
00034 #endif /* _VIEWITERATOR_H */

Generated on Wed Feb 25 23:01:10 2004 by doxygen 1.3.4