* of index pages of 256 pointers.
*/
-//#include <stdint.h>
-
/*!
* Type: pvector_page
*
pvector_page *entries; //!< Pointer to entries indexing
} pvector;
-// Number of page levels for size S
-#define PV_LEVELS(S) ((int)(( 39 - __builtin_clz( ((S)-1) | 1) ) / 8 ))
-
+// Number of slots for page S
#define PV_LEVEL_SIZE(S) ((int)(exp( 256, (S) )))
// The indexing part for level part p in index i
void pvector_copy(pvector *dst,unsigned long di,
pvector *src,unsigned long si,unsigned long n);
-void pvector_dump(pvector *pv,int (*itemdump)(unsigned long ,void *));
+void pvector_dump(pvector *pv,
+ int (*itemdump)(const unsigned long ,const void *));
+
+void pvector_qsort(pvector *pv,int (*compar)(const void *,const void *));
-void pvector_qsort(pvector *pv,int (*compar)(void *,void *));
+void pvector_iterate(pvector *pv,
+ int (*itemfn)(unsigned long,void*,void*),
+ void*);
#endif