Book Image

D Cookbook

By : Adam Ruppe
Book Image

D Cookbook

By: Adam Ruppe

Overview of this book

Table of Contents (21 chapters)
D Cookbook
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using opDispatch to generate properties


opDispatch is a good hook for code generation of all kinds. Here, we'll use it to generate properties to access an associative array of keys in a different format in order to mimic the style property in the JavaScript DOM, which translates foo.style.backgroundColor, for example, to the background-color CSS property.

How to do it…

Let's execute the following steps to use opDispatch to generate properties:

  1. Write a function to transform the camelCase string to a dash-separated string.

  2. Create a struct type with two opDispatch @property methods: a getter that takes no runtime arguments and a setter which takes a string runtime argument. Both the opDispatch methods should take one compile-time string argument.

  3. Use the enum keyword with the transformation function to ensure it is done at compile time.

  4. Constrain opDispatch to work only on the properties you want to enable, or if you want it to work on everything, set it minimally to not work on popFront.

  5. Add a member...