This is a follow up question to : this question - replacing an std::function
with none allocating one , that does not use std
.
Was wondering if there is something more robust that can replace: std::aligned_union
typedef unsigned char callable_array[100];
typename std::aligned_union<0, callable_array, CallableT<void(*)()>, CallableT<void (CallableT<void(*)()>::*)()>>::type callable_;
The suggested code to do that is causing an compilation error: link
CallableT<decltype([]()->void {})>, // error: lambda expression in an unevaluated operand
trying both c++11 and c++14
It also uses std::max
- was hoping for some ideas on how to replace it as well.
Aucun commentaire:
Enregistrer un commentaire