1212<ul >
1313 <li class =" fragment " >goals:
1414 <ul>
15- <li class="fragment">help promote adoption in the standard
15+ <li class="fragment">help promote adoption in the language
1616 <ul>
1717 <li class="fragment">submit to Boost</li>
1818 <li class="fragment">talk about it (CppCon 2018...)</li>
@@ -124,13 +124,15 @@ ret
124124## Core API
125125
126126``` c++
127- use_classes<Node, Number, Plus, Times> use_ast_classes;
128-
129127struct value_id ;
130128using value = method<value_id, int (virtual_<const Node&>)>;
129+ ```
131130
131+ ``` c++
132132auto result = value::fn(expr);
133+ ```
133134
135+ ``` c++
134136int number_value (const Number& node) {
135137 return node.val;
136138}
@@ -145,6 +147,8 @@ struct binary_value {
145147
146148YOMM2_STATIC(value::add_definition<binary_value<Plus, std::plus<int >>>);
147149YOMM2_STATIC(value::add_definition<binary_value<Times, std::multiplies<int >>>);
150+
151+ YOMM2_STATIC(use_classes<Node, Number, Plus, Times>);
148152```
149153
150154
@@ -157,10 +161,10 @@ YOMM2_STATIC(value::add_definition<binary_value<Times, std::multiplies<int>>>);
157161 <li>virtual_ptr</li>
158162 <li>core API</li>
159163 <li class="fragment">template interop toolkit</li>
160- <li class="fragment">header only (+ Compiler Explorer)</li>
164+ <li class="fragment">header only (Compiler Explorer)</li>
161165 <li class="fragment">friendship</li>
162166 <li class="fragment">member methods</li>
163- <li class="fragment">policies and facets
167+ <li class="fragment">policies and facets (latest release)
164168 <ul>
165169 <li class="fragment">custom RTTI</li>
166170 <li class="fragment">custom error handling, trace, vptr placement...</li>
@@ -180,6 +184,8 @@ YOMM2_STATIC(value::add_definition<binary_value<Times, std::multiplies<int>>>);
180184 <li class="fragment">match (beat?) virtual function speed</li>
181185 <li class="fragment">pre-calculate dispatch tables</li>
182186 <li class="fragment">malloc-free operation</li>
187+ <li class="fragment">dispatch on std::any</li>
188+ <li class="fragment">(feature complete)</li>
183189 <li class="fragment">C++20</li>
184190 </ul>
185191 </li>
0 commit comments