templates

C++ Core Guidelines: Rules for the Usage of Concepts

We will get concepts with high probability in C++20. Here are the rules from the C++ core guidelines to use them.

Read more
Views: 25435

C++ Core Guidelines: Better Specific or Generic?

Concepts revolutionise the way we think about and use generic programming. They didn't make it in C++11, or C++17 but with C++20 we will get them with high probability.

Read more
Views: 11719

C++ Core Guidelines: Type Erasure with Templates

In the last post C++ Core Guidelines: Type Erasure, I presented two ways to implement type erasure: void pointers and object-orientation. In this post, I bridge dynamic polymorphism (object-orientation) with static polymorphism (templates) to get type erasure with templates.

Read more
Views: 28834

C++ Core Guidelines: Type Erasure

Rule "T.5: Combine generic and OO techniques to amplify their strengths, not their costs"  of the core guidelines to generic programming uses type erasure as an example. Type erasure? Really! Of course, it takes me two posts to explain this advanced template technique.

Read more
Views: 50583

C++ Core Guidelines: Rules for Templates and Generic Programming

I this post I give an introduction to the rules for generic programming in C++. Generic programming is from my point of view the outstanding feature and the future of C++. Hence it follows, that this and the upcoming posts are about the future of C++.

Read more
Tags: templates
Views: 31483

C++ Core Guidelines: More about Control Structures

My last German post C++ Core Guidelines: To Switch or not to Switch, that is the Question got a lot of attention. To use a hash table instead of a switch statement seems to be a highly emotional topic. So I change my original plan. Today, I will present different kinds of control structures. I will start with the if and switch statements, continue with the hash table, and end with dynamic and static polymorphism. Additionally, I will mark a few remarks about performance and maintainability. 

Read more
Views: 18138

Defining Concepts

I wrote a few posts about using concepts. Concepts are a named set of requirements. Let's define a few concepts in this post.

Read more
Views: 24256

Placeholders - The Second

The unification of templates, concepts, and placeholders goes on. This time, I will have a closer look at constrained (concepts) and unconstrained (auto) placeholders in the context of templates.

Read more
Views: 12914

Concepts - Placeholders

C++11 has with auto unconstrained placeholders. You can use concepts in C++20 as constrained placeholders. What seems at first glimpse not so thrilling is for me the decisive quantum leap. C++ templates will become an easy to use C++ feature.

Read more
Views: 16023

C++ is Lazy: CRTP

In my previous post Recursion, List Manipulation and Lazy Evaluation I wrote about the characteristics of functional programming:  The story about lazy evaluation in C++ is short. Sorry to say but I have forgotten templates. The two advanced techniques CRTP and expression templates are based on lazy evaluation.

Read more
Tags: templates
Views: 72919

My Newest E-Books

Course: Modern C++ Concurrency in Practice

Course: C++ Standard Library including C++14 & C++17

Course: Embedded Programming with Modern C++

Course: Generic Programming (Templates)

Course: C++ Fundamentals for Professionals

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 900

All 4166191

Currently are 180 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments