Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mathieu-lala/workshop_cpp_templated_meta-prog

Getting started with template meta-programming in C++
https://github.com/mathieu-lala/workshop_cpp_templated_meta-prog

cpp getting-started learning learning-by-doing learning-exercise metaprogramming template template-metaprogramming workshop

Last synced: 18 days ago
JSON representation

Getting started with template meta-programming in C++

Awesome Lists containing this project

README

        

# :bulb: Workshop C++ meta-programming

Everything you need to learn template and metaprogramming in C++

[![License](https://img.shields.io/github/license/IamBlueSlime/TalkOpenSource.svg?style=flat-square)](LICENSE.txt)
[![CPP version](https://img.shields.io/badge/CPP%20standard-98-1abc9c.svg)](http://www.cplusplus.com/doc/oldtutorial/)

## Introduction

This workshop will help you to learn templates and metaprogramming from scratch : don't panic if you never used them before.
Take a look on the definition of ['template metaprogramming'](https://en.wikipedia.org/wiki/Template_metaprogramming)

**Warning : C++ meta-programming is not modern C++** (and it trend to be deprecated), but it is a very interesting topic !

## What you will do

**Click to that [link](https://mybinder.org/v2/gh/QuantStack/xeus-cling/stable?filepath=notebooks/xcpp.ipynb) and upload the `Workshop.ipynb`**

Each one contain exercises, meant to work around all the knownledge of the template in C++.
Resolve all the exercice one by one !

To check if you have succeded, make sure that you have the expected output of our main.

**Our main is not the only way to solve the exercise, feel free to change it if needed**

### Having troubles ?

Here is some documentation :

* [Introduction](https://blog.feabhas.com/2014/05/an-introduction-to-c-templates/)
* [Basics](https://www.codeproject.com/Articles/3743/A-gentle-introduction-to-Template-Metaprogramming)
* [Variadic template](https://eli.thegreenplace.net/2014/variadic-templates-in-c/)

## License

This software is licensed under the ISC license (see [LICENSE.txt](LICENSE.txt)).

## Author

* **Mathieu Lala** - [GitHub](https://github.com/Mathieu-Lala)
* **Hugo Prat** - [GitHub](https://github.com/HugoPrat)