Comment bitwise et CFBitVector

J’ai deux instances de CFMutableBitVector , comme CFMutableBitVector :

  CFBitVectorRef ref1, ref2; 

Comment puis-je faire des opérations peu-sages à ces gars? Pour le moment, je me soucie seulement de and , mais il serait évidemment utile de savoir xor , or , etc.

Évidemment, je peux parcourir les bits du vecteur, mais cela semble ridicule lorsque je travaille au niveau des bits. J’ai l’impression qu’il ne manque que certaines fonctions essentielles de la Fondation, mais je ne les trouve pas.

Merci,

Kurt

    Bien un

     CFBitVectorRef 

    est un

     typedef const struct __CFBitVector *CFBitVectorRef; 

    qui est un

     struct __CFBitVector { CFRuntimeBase _base; CFIndex _count; /* number of bits */ CFIndex _capacity; /* maximum number of bits */ __CFBitVectorBucket *_buckets; }; 

     /* The bucket type must be unsigned, at least one byte in size, and a power of 2 in number of bits; bits are numbered from 0 from left to right (bit 0 is the most significant) */ typedef uint8_t __CFBitVectorBucket; 

    Ainsi, vous pouvez vous plonger dans une série d’opérations judicieuses qui pourraient accélérer les choses. Bien sûr, être non-mutable pourrait gêner un peu les choses: D