Previous Up Next

Module CCBitField

module CCBitField: sig .. end

Bit Field

This module defines efficient bitfields up to 30 or 62 bits (depending on the architecture) in a relatively type-safe way.

   module B = CCBitField.Make(struct end);;
   #install_printer B.pp;;
   let x = B.mk_field ()
   let y = B.mk_field ()
   let z = B.mk_field ()
   let f = B.empty |> B.set x true |> B.set y true;;
   assert (not (B.get z f)) ;;
   assert (f |> B.set z true |> B.get z);;
  


exception TooManyFields
Raised when too many fields are packed into one bitfield
exception Frozen
Raised when a frozen bitfield is modified
val max_width : int
System-dependent maximum width for a bitfield, typically 30 or 62
module type S = sig .. end
Bitfield Signature
module Make (X : sigend) : S 
Create a new bitfield type

AltStyle によって変換されたページ (->オリジナル) /