C ++ 11 static_assert (e funções a serem usadas)

static_assert parece ser um recurso muito bom junto com modelos.

No entanto, tenho dificuldade em encontrar funções na biblioteca padrão para fazer vários testes em tempo de compilação.

Por exemplo, estou procurando uma função para verificar se um tipo é um subtipo de outro.boost::is_base_of O trabalho, no entanto, é uma função comparável em std, então eu não preciso depender de boost.

Basicamente, existe uma boa fonte para uma lista de funções que podem ser usadasstatic_assert e estão contidos na biblioteca padrão do C ++ 11?

Quando éstatic_assert executado? Posso colocá-lo em qualquer lugar em um modelo e ele é avaliado para cada instanciação de modelo? Poderia ser usado para restringir parâmetros de modelo para ser um subtipo específico de uma classe?

questionAnswers(2)

yourAnswerToTheQuestion