Returns an iterator over the named bitfields in the structure as
        2-tuples of (key, value).  Uses a clone so as to only read from
        the underlying data once.

def items(self):
        """
        Returns an iterator over the named bitfields in the structure as
        2-tuples of (key, value).  Uses a clone so as to only read from
        the underlying data once.
        
        """
        temp = self.clone()
        return [(f, getattr(temp, f)) for f in iter(self)]