The actual trick to make it work is to use decltype on the function operator http://stackoverflow.com/questions/7943525/is-it-possible-to-figure-out-the-parameter-type-and-return-type-of-a-lambda/7943765#7943765 In addition, we now pick up the functor by template type and store it under that very type. For one, this cuts the size of the generated class by a factor of two. And it gives the compiler the ability to inline a closure as much as is possible, especially when the created Binder / Mutator lives in the same reference frame the closure taps into. |
||
|---|---|---|
| .. | ||
| diff-index-table-test.cpp | ||
| diff-list-application-test.cpp | ||
| diff-list-generation-test.cpp | ||
| gen-node-basic-test.cpp | ||
| generic-record-representation-test.cpp | ||
| generic-tree-mutator-test.cpp | ||
| generic-tree-representation-test.cpp | ||