# Code generation
SuperStruct generates several types, methods and trait implementations.
You should visit each of the sub-pages in order to understand how the generated code fits together:
1. [Variant structs](./codegen/variant-structs.md).
2. [Top-level enum](./codegen/enum.md).
3. [`Ref` and `RefMut`](./codegen/ref-and-refmut.md).
4. [Mapping macros](./codegen/map-macros.md).
5. [Meta variant structs and enums](./codegen/meta-variants.md).
## Example
For a full, up-to-date example of the code generated, please see the [RustDoc output for
the `Request` example](./rustdoc/request).