[TOC]

# fidl.test.unionsandwich




## **STRUCTS**

### SandwichUnionSize12Alignment4 {#SandwichUnionSize12Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=24)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize12Alignment4.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize12Alignment4.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize12Alignment4'>UnionSize12Alignment4</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize12Alignment4.after">
            <td><code>after</code></td>
            <td>
                <code>int32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### SandwichUnionSize24Alignment8 {#SandwichUnionSize24Alignment8}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=39)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize24Alignment8.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize24Alignment8.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize24Alignment8'>UnionSize24Alignment8</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize24Alignment8.after">
            <td><code>after</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### SandwichUnionSize36Alignment4 {#SandwichUnionSize36Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=49)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize36Alignment4.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize36Alignment4.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize36Alignment4'>UnionSize36Alignment4</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize36Alignment4.after">
            <td><code>after</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### SandwichUnionSize8Alignment4 {#SandwichUnionSize8Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=14)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize8Alignment4.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize8Alignment4.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize8Alignment4'>UnionSize8Alignment4</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize8Alignment4.after">
            <td><code>after</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### StructSize16Alignment8 {#StructSize16Alignment8}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=30)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="StructSize16Alignment8.f1">
            <td><code>f1</code></td>
            <td>
                <code>uint64</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="StructSize16Alignment8.f2">
            <td><code>f2</code></td>
            <td>
                <code>uint64</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>







## **UNIONS**

### UnionSize12Alignment4 {#UnionSize12Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=20)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize12Alignment4.variant">
            <td><code>variant</code></td>
            <td>
                <code>uint8[6]</code>
            </td>
            <td></td>
        </tr></table>

### UnionSize24Alignment8 {#UnionSize24Alignment8}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=35)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize24Alignment8.variant">
            <td><code>variant</code></td>
            <td>
                <code><a class='link' href='#StructSize16Alignment8'>StructSize16Alignment8</a></code>
            </td>
            <td></td>
        </tr></table>

### UnionSize36Alignment4 {#UnionSize36Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=45)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize36Alignment4.variant">
            <td><code>variant</code></td>
            <td>
                <code>uint8[32]</code>
            </td>
            <td></td>
        </tr></table>

### UnionSize8Alignment4 {#UnionSize8Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/union_sandwich.test.fidl;l=10)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize8Alignment4.variant">
            <td><code>variant</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
        </tr></table>







