Compile-time type transformation
Meeting C++ 2019, Berlin
dr Ivan Čukić
KDAB ivan.cukic@kdab.com, ivan@cukic.co https://kdab.com, https://cukic.co
Compile-time type transformation Meeting C++ 2019, Berlin dr Ivan - - PowerPoint PPT Presentation
Compile-time type transformation Meeting C++ 2019, Berlin dr Ivan uki KDAB ivan.cukic@kdab.com, ivan@cukic.co https://kdab.com, https://cukic.co Slow introduction Compile-time Meta information Generation The End About me KDAB senior
KDAB ivan.cukic@kdab.com, ivan@cukic.co https://kdab.com, https://cukic.co
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
2
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
3
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
5
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
6
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
7
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
8
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
9
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
10
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
11
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
12
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
13
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
14
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
15
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
16
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
17
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
18
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
19
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
20
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
21
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
std::string concatenate(const std::vector<std::string>& strs) { ⋯ struct acc_t { std::string::iterator dest; std::vector<std::string::iterator> points; }; auto acc = accumulate(strs, acc_t { result.begin(), {} }, [] (acc_t&& acc, const std::string& s) { acc.points.push_back(acc.dest); return acc_t { copy(s, acc.dest), std::move(acc.points) }; }); acc.dest ⋯ acc.points ⋯ }
22
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
23
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
25
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
26
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
27
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
28
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
29
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
30
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
31
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
32
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
33
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
34
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
35
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
36
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
37
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
38
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
40
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
41
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
42
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
43
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
44
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
45
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
46
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
47
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
49
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
50
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
51
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
52
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
53
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
54
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
55
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
56
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
57
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
58
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
59
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
60
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
61
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
62
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
63
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
64
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
65
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
66
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
67
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
68
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
69
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
70
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
71
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
72
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
73
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
74
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
75
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
76
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
77
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
78
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
79
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
80
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
81
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
82
@ivan_cukic Ivan Čukić Meeting C++ 2019, Berlin Slow introduction Compile-time Meta information Generation The End
83