Verificar o tipo de argumentos em uma declaração de modelo variádico

Eu tenho uma declaração de template variadic simples, assim como a clássica:

template <typename... Arguments>
class VariadicTemplate;

O que eu preciso alcançar é deixar oVariadicTemplate&nbsp;a classe executa alguma verificação de tipo; o modelo variádico deve verificar em alguma forma iterativa que todos os argumentos recebidos devem ser informados sobre o tipo<Foo>.

Eu vi algo semelhante em algum lugar, mas agora não consigo reconhecer onde estava: P