A discussion of flags embedded in the typecode struct ... v 0.1 by Michael Meeks (michael@ximian.com) It is neccesary in the interests of performance to encode some architecture specific information into each TypeCode; for example calculating, the alignment of an arbitrary type can involve a somewhat complex state machine with special cases for structures and unions. Hence it is best to add the 'c_align' flag to the typecode, and calculate this field for incoming typecodes. There are several other properties of a Type that are rather interesting - particularly: * flatness - ie. it's in-memory representation as a C type consists of a contiguous block of memory of determinate length. * GIOP match - a pre-requisite of which is flatness, that the size and alignment of the structure is identical to that of the GIOP data representation. NB. all optimizations must pre-align. Also it would be lovely to have a size field for a flat structure, so that we can use straight memcpys instead of recursive copies when manipulating the structures.