Need help with D-templates-tutorial?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

PhilippeSigaud
204 Stars 25 Forks 279 Commits 9 Opened issues

Description

A tutorial on the D programming language templates.

Services available

!
?

Need anything else?

Contributors list

D Template Tutorial

What's it's about

This project is about a wonderful part of the D programming language: templates. It contains a markdown document on templates aiming to be a kind of tutorial.

It's divided in 6 chapters:

  • Introduction
    is just, well, the introduction text, explaining the goal of this document and the formatting conventions used.
  • Basics
    is about templates syntax, basic building blocks (
    static if
    , eponymous trick) and function, struct and class templates.
  • Some More Advanced Considerations
    is about more advanced ideas, like constraints, tuples or operator overloading.
  • Around Templates
    deals with other metaprogramming constructs interacting with templates: traits, compile-time function evaluation (CTFE) and string mixins.
  • Examples
    presents some more detailed examples of what can be done with D templates.
  • The
    Appendix
    gives some explanation on the
    is
    expression and links on other templates resources.

If you find any inexactitude, plain error or missing subject, don't hesitate to open an issue on github!

Other formats

The markdown syntax used for the doc is the extended version used by Pandoc (mainly for tables or code sections). Using markdown files and Pandoc, I generate the HTML, pdf and epub versions. Feel free to comment on them also.

Utils

The

utils
folder contains a small D script to extract the hundreds of modules present in the text and test their compilation. You can also find there the extracted and tested modules.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.