Intro to D metaprogramming - Creating a JSON serialiser

A series which covers the creation of a basic JSON serialiser in D while teaching several different aspects of D’s metaprogramming:

  • templates
  • template arguments
  • function contracts
  • static if
  • static foreach
  • mixins
  1. Serialising basic D types
  2. Serialising basic D types - Alternative function layout
  3. Serialising structs
  4. Serialising enums and classes
  5. Serialising arrays
  6. Using UDAs for customisation
  7. Mixin template to automate static deserialise