If you wanted to maintain C++03 compatibility, a dispatching macro might be useful to select the appropriate Signal template arity:
<a href="http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;16683146&#x2F;can-macros-be-overloaded-by-number-of-arguments" rel="nofollow">http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;16683146&#x2F;can-macros-be-ov...</a>