#pragma once #include "validate_basic.h" #include "dispatch.h" namespace verify { template struct T; template struct T { template func> struct Validate { private: validate::ValidateImpls<(void*)func, Ret, Args...> _helper; public: Validate() { auto core = dispatch::Dispatch::unique(); core->setCmdValidator(_helper.address(), & _helper); } template validate::ArgsPosition pos() { return _helper.pos(); } }; }; }