/*********************************************** !!!! DO NOT EDIT THIS FILE !!!! This file was auto-generated by Build.PL from lib/KinoSearch/Util/BitVector.pm See KinoSearch::Docs::DevGuide for details. ***********************************************/ #line 245 "lib/KinoSearch/Util/BitVector.pm" #ifndef H_KINO_BIT_VECTOR #define H_KINO_BIT_VECTOR 1 #include "limits.h" #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "KinoSearchUtilMathUtils.h" #include "KinoSearchUtilCarp.h" #include "KinoSearchUtilMemManager.h" #define KINO_BITVEC_SENTINEL 0xFFFFFFFF typedef struct bitvector { U32 capacity; unsigned char *bits; } BitVector; BitVector* Kino_BitVec_new(U32); BitVector* Kino_BitVec_clone(BitVector*); void Kino_BitVec_grow(BitVector*, U32); void Kino_BitVec_shrink(BitVector *, U32); void Kino_BitVec_set(BitVector*, U32); void Kino_BitVec_clear(BitVector*, U32); void Kino_BitVec_bulk_set(BitVector*, U32, U32); void Kino_BitVec_bulk_clear(BitVector*, U32, U32); bool Kino_BitVec_get(BitVector*, U32); U32 Kino_BitVec_next_set_bit(BitVector*, U32); U32 Kino_BitVec_next_clear_bit(BitVector*, U32); void Kino_BitVec_logical_and(BitVector*, BitVector*); U32 Kino_BitVec_count(BitVector*); AV* Kino_BitVec_to_array(BitVector*); void Kino_BitVec_destroy(BitVector*); #endif /* include guard */