The memory layout of a type, describing its size, stride, and alignment.
You can use MemoryLayout as a source of information about a type when allocating or binding memory using unsafe pointers. The following example declares a Point type with x and y coordinates and a Boolean isFilled property.
The size, stride, and alignment of the Point type are accessible as static properties of MemoryLayout<Point>.
Always use a multiple of a type’s stride instead of its size when allocating memory or accounting for the distance between instances in memory. This example allocates untyped, uninitialized memory with space for four instances of Point.