| 58 | // It is an additional class to avoid diamond inheritance |
| 59 | template<typename ReturnType, typename... Lambdas> |
| 60 | struct lambda_visitor |
| 61 | : boost::static_visitor<ReturnType> |
| 62 | , lambda_visitor_helper<ReturnType, Lambdas...> |
| 63 | { |
| 64 | typedef lambda_visitor_helper<ReturnType, Lambdas...> Helper; |
| 65 | |
| 66 | lambda_visitor(Lambdas... lambdas) |
| 67 | : Helper(lambdas...) |
| 68 | { |
| 69 | } |
| 70 | |
| 71 | using Helper::operator(); |
| 72 | }; |
| 73 | |
| 74 | // Wrapper function to create a lambda_visitor instance. |
| 75 | // This deduces the template arguments automatically, so you don't need to specify them. |
nothing calls this directly
no outgoing calls
no test coverage detected