Template meta-programming is a meta-programming technique in which templates are used by a compiler to generate temporary source code, which is merged by the compiler with the rest of the source code and then compiled.

learn more… | top users | synonyms

11
votes
2answers
202 views

Very basic tuple implementation

I've been messing with metaprogramming and variadic templates in C++, and I came up with this very primitive implementation of a tuple: ...
11
votes
1answer
322 views

Variadic function with restricted types

I am designing a class which (among other things) acts as a vertex in an undirected graph. ...
10
votes
2answers
90 views

Dynamically call lambda based on stream input: Try 2

Originally asked here: Dynamically call lambda based on stream input The following version is based heavily on the answer provided by @iavr though I hope that I have done enough more to mkae it worth ...
9
votes
2answers
558 views

Compile time decorator pattern in C++ with templates

I'm doing some high energy physics modelling in C++. I have written code that implements class that score interactions of particles with detector material. Here is a base class: ...
9
votes
1answer
327 views

D2.0 mixin and template-heavy code - Building a silverlight clone

Update : The code is on github for anyone interested. I know it's not very useful but I'm having fun with it. link I've made a mock version of silverlight in D2. It is meant to output html but ...
8
votes
4answers
174 views

n-dimensional Euclidean space calculation templates

I have been working with C++11 code that uses std::vector[] to store coordinates. Most often this code uses 2D or 3D but it occurred to me that it may be generally ...
8
votes
2answers
148 views

Functional composition of member function predicates

In C++11, it is en vogue to use small lambda expressions to produce ad-hoc predicates. However, sometimes it's fun to create predicates in a functional, "point-free" way. That way, no function bodies ...
7
votes
1answer
104 views

C++ template Range

From a previous question I got an answer that included some template magic (that to be blunt was mind boggling (as I could not understand it)). So I have been trying to achieve the same results ...
7
votes
0answers
1k views

JSON Serializer

Carrying on from: Yet another C++ Json Parser Yet another C++ Json Parser (Recursive) All the code is available from git hub: ThorsSerializer but only reviewing a small section here. The idea is ...
6
votes
1answer
78 views

Dynamically call lambda based on stream input: Try 3

Based on Dynamically call lambda based on stream input: Try 2 This fixes most of the points pointed out by @Morwenn. It has been generalized so anybody can call it. The only extra part needed by the ...
6
votes
1answer
147 views

Type to instance map

I needed a class where I could store an instance of any type. The goal was an interface as follows: ...
5
votes
1answer
75 views

Test whether a type T is among the types of a tuple

In SO I asked for a way to do it without variadics. I also provided a typical "normal" implementation with variadics : ...
5
votes
2answers
408 views

Unique type ID in C++

I need to have an unique ID for any type in C++ for a variant type. Is this code reliable for getting the ID? I don't care to have same ID for same type between multiple runs. Sorry for ...
5
votes
1answer
482 views

Meta-program to find square numbers

I'm new to template meta-programming and wrote some code to determine if a number is a perfect square. For example, in my program, SQUARE<1>::value and ...
5
votes
2answers
54 views

Providing const- and non-const overloads of a strstr() implementation

In a question about reimplementing strstr(), I posted an answer. I pointed out a need for const- and non-const versions of the function, and provided ...
4
votes
1answer
70 views

std::tuple foreach implementation

I wrote "foreach" implementation for std::tuple. Here it is: ...
4
votes
1answer
85 views

User defined literal for std::integral_constant

I created a user defined literal _c to convert an "integer" literal into an std::integral_constant. Basically, the goal is to ...
4
votes
1answer
1k views

C++ compile-time checked switch 'statement'

In the project I work on there are several places where a switch statement is used on a type enum. (I know, better to use virtual functions or a visitor pattern or something, but sometimes switching ...
4
votes
0answers
123 views

Clone of Boost Variant

As part of learning C++, with special emphasis on C++11, I wanted to implement the equivalent of Boost's Variant (located here). My code is available at variant.hpp, with the current version given ...
4
votes
0answers
176 views

Building a good C++11 template library - compile-time checked enum array

The task is to add data or values to members of a given enum class. The compiler should check, if a value for each enum member is available, and not just default construct empty values. It is a tool ...
3
votes
2answers
108 views

lockbox (a boost-like container)

So I introduced myself to templates in C++11 and I have to say it's really confusing, but also very fascinating. I just need to get my head around what happens at compile time so that I don't wind up ...
3
votes
2answers
53 views

Function object passing for a task scheduler

Here is my full implementation of a generic Functor-like class: ...
3
votes
1answer
42 views

Template function specialization with code duplication

I'm working on a libcurl binding for nodejs, and to get info from a curl handler, using curl_easy_getinfo, I've created a template function, the issue, is that the ...
3
votes
1answer
74 views

Should I use an object or type as trait?

Edit: Disclaimer: I am new to templates and traits. I apologize in advance if this is a bad question. I am refactoring two similar classes with small differences strewn all over them into one ...
3
votes
1answer
294 views

Could this deferred execution scheme be any simpler?

I've created this scheme to preserve function calls until all the arguments are available. The stub_op classes will be replaced with classes that implement a ...
3
votes
0answers
78 views

C++ class “overload” using variadic templates and wrapped function pointers

I'm using C++11 and I have the following problem (pseudo C++): ...
2
votes
1answer
252 views

How can I improve the design of this serialization mechanism?

I'm working on caching library which is intended to work with all types of values. Values are represented as instances of value_type: ...
2
votes
1answer
48 views

std::tuple objects or rvalue references?

I have some small "plugin system" (not sure this is right name). It allow you to store objects (plugins), and then call some methods from each of them. With this approach we have absolutely no ...
1
vote
1answer
484 views

Review of C++ singleton

Originally posted on Stack Overflow. So far, I've used this in a few places and it seems solid. This is what I usually do to make a singleton: ...
1
vote
0answers
90 views

CRTP overload-set nightmare [closed]

I'm not sure if this belongs on CodeReview or StackOverflow, but we'll start with it here. Here is an anonymized and simplified version of some code I have that uses the Curiously Recurring Template ...
0
votes
0answers
36 views

Improvements on this template container simulating SQL “select” and “where”?

I want to simulate in c++ the fact that in a form with drop down (or combo boxes) you can filter by selecting items and then projecting on a given set of properties for these item. In a sql-like ...