book /

Filename Size Date modified Message
book
1.1 KB
1.8 KB
1.1 KB

The Lounge<C++> should write a book. This is how we will do it:

Book Coverage and Topics

The book will be a collection of articles on interesting C++(11) techniques, tips, workarounds, patterns, rules, etc which have not been covered in-depth elsewhere. Pretty much anything which could or has been written in a blog post by Lounge members. The target audience is intermediate to advanced C++ users hoping to learn some tricks.

Non-standard libraries can be covered if you feel they have a wide appeal or provide a good example. Boost is always acceptable.

List of Topics that need to be written

  • List of new and unknown UB
  • PODs, trivial, standard layout explanation (in practical terms)
  • Lambdas and captures (tricks, not syntax explanation)
  • Rule of Zero
  • 'enable if' and other sfinae (comprehensive list of methods)
  • template aliases
  • stack-based TMP
  • Bit fiddling (using C++11 features)
  • Variadic template tricks
  • Type erasure
  • 'make unique' and other useful std helpers
  • Move semantic tricks (do not need another rvalue reference explanation)
  • Universal references
  • auto and decltype (best practices, common uses)
  • Expression templates

How to Help

A few ways a lounger can help at this moment:

  • Write or adapt an article into the book
  • Edit or add-onto an article. Communicate with the original author if possible.
  • Figure out how to work asciidoc because Pubby is too stupid to understand it!

Writing Guide

The book is divided up into "articles" which are mostly self-contained, but contain links to other articles under a list of dependencies. Each article gets a new file in the ./book/ directory.

In addition, each article has a few "use cases" which provide some examples of the technique you're describing. Real-world use cases are ideal.

A style guide is being written and can be found at style.txt.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.