Проверить, имеет ли тип только чисто виртуальные методы? - PullRequest
2 голосов
/ 01 апреля 2019

Вы можете использовать <type_traits> (в C ++ 11), чтобы проверить, является ли класс abstract .Однако это только проверяет, является ли любой метод чисто виртуальным.Но у вас могут быть другие методы, которые либо не являются полиморфными, либо, по крайней мере, не являются чисто виртуальными.

Я бы хотел проверить, есть ли в классе только чисто виртуальные методы.Намерение состоит в том, чтобы заставить класс быть интерфейсом только для интерфейса (например, static_assert).Кажется, для этого нет встроенной черты - я ее упускаю или есть какая-то разумная комбинация существующих для достижения этой цели?

...