Pointeur de membre de classe en tant que paramètre de modèle

Est-il possible d'avoir non-type de paramètre du modèle qui est en fait un pointeur vers un membre de la classe? Ce que je cherche à faire c'est quelque chose comme ce qui suit:

struct Person {
  Dog dog;
};

template <?? ptr>
struct Strange {
  //...
};

typedef Strange<&Person::dog> weird;

Mon travail m'amène à croire que rien de tel n'est possible, mais je suis curieux de savoir si quelqu'un l'a peut dire le contraire.