コード例 #1
0
 def _serialize(self):
     if self.is_signed():
         return gob_varint_encode(long(self.val))
     if self.is_unsigned():
         return gob_uvarint_encode(long(self.val))
     if self.is_string():
         return serialize_string(self.val)
     # floats are serialied as strings
     if self.is_float():
         return serialize_string(str(self.val))
     if self.is_struct():
         off = self.val.offset
         assert type(off) in (types.IntType, types.LongType)
         return gob_uvarint_encode(off)
     assert False, "don't know how to serialize %s" % str(self.typ)
コード例 #2
0
def _serbin(field):
    assert isinstance(field, Field)
    if field.is_no_store():
        return None
    if field.is_signed():
        return gob_varint_encode(long(field.val))
    if field.is_unsigned():
        return gob_uvarint_encode(long(field.val))
    if field.is_string():
        return serbin_str(field.val)
    # floats are serialied as strings
    if field.is_float():
        return serbin_str(str(field.val))
    if field.is_struct():
        off = field.val.offset
        assert type(off) in (types.IntType, types.LongType)
        return gob_uvarint_encode(off)
    if field.is_array():
        return serbin_arr(field)
    assert False, "don't know how to serialize %s" % str(field.typ)
コード例 #3
0
def _serbin(field):
    assert isinstance(field, Field)
    if field.is_no_store():
        return None
    if field.is_signed():
        return gob_varint_encode(long(field.val))
    if field.is_unsigned():
        return gob_uvarint_encode(long(field.val))
    if field.is_string():
        return serbin_str(field.val)
    # floats are serialied as strings
    if field.is_float():
        return serbin_str(str(field.val))
    if field.is_struct():
        off = field.val.offset
        assert type(off) in (types.IntType, types.LongType)
        return gob_uvarint_encode(off)
    if field.is_array():
        return serbin_arr(field)
    assert False, "don't know how to serialize %s" % str(field.typ)