// This file is distributed under the BSD License. // See "license.txt" for details. // Copyright 2009-2012, Jonathan Turner (jonathan@emptycrate.com) // Copyright 2009-2016, Jason Turner (jason@emptycrate.com) // http://www.chaiscript.com #ifndef CHAISCRIPT_CALLABLE_TRAITS_HPP_ #define CHAISCRIPT_CALLABLE_TRAITS_HPP_ #include namespace chaiscript { namespace dispatch { namespace detail { template struct Arity { }; template struct Arity { static const size_t arity = sizeof...(Params); }; template struct Function_Signature { }; template struct Function_Signature { typedef Ret Return_Type; typedef Ret (Signature)(Params...); }; template struct Function_Signature { typedef Ret Return_Type; typedef Ret (Signature)(Params...); }; template struct Callable_Traits { typedef typename Function_Signature::Signature Signature; typedef typename Function_Signature::Return_Type Return_Type; }; } } } #endif