#pragma once #include #include template struct function_traits; template struct function_traits { using result = ReturnType; using arguments = std::tuple; using arguments_decay = std::tuple::type...>; };