ID constante de tempo de compilação

Dado o seguinte:

template<typename T>
class A
{
public:
    static const unsigned int ID = ?;
};

Eu quero que o ID gere um ID de tempo de compilação exclusivo para cada T. que considerei__COUNTER__ e a biblioteca PP de reforço, mas até agora não foram bem-sucedidas. Como posso conseguir isso?

Edit: ID deve ser utilizável como o caso em uma instrução switch

Edit2: Todas as respostas baseadas no endereço de um método ou membro estático estão incorretas. Embora eles criem um ID exclusivo, eles não são resolvidos em tempo de compilação e, portanto, não podem ser usados como os casos de uma instrução switc

questionAnswers(16)

yourAnswerToTheQuestion