Types » History » Version 3

« Previous - Version 3/13 (diff) - Next » - Current version
J. Moringen, 03/18/2011 02:33 PM
fixed 64 bit unsigned integer for Common Lisp


Types

Wire Schema <-> Programming Language Types Mapping

Fundamental Types

For "fundamental" types, the mapping is based on the type mapping used by Google's protocol buffers.

Wire Schema String Designator C++ Python Java Common Lisp
Double precision float "double" double double double-float
Single precision float "float" float float float single-float
32 bit signed integer "int32" int32 int (signed-byte 32)
64 bit signed integer "int64" int64 long (signed-byte 64)
32 bit unsigned integer "uint32" uint32 int (unsigned-byte 32)
64 bit unsigned integer "uint64" uint64 long (unsigned-byte 64)
bool "bool" bool bool boolean boolean
UTF-8 string "string" string str String string
Sequence of Bytes "bytes" string ByteString (simple-array (unsigned-byte 8) (*))

Structured Data

This section is just a proposal.

For structured data types using more sophisticated serialization mechanisms, the resulting wire schemas could be designated by something like MECHANISM:MECHANISM-SPECIFIC-DESIGNATOR. For example

protocol-buffer:.rst.ImageMessage
boost_serialization:sound::pcm::Buffer