У меня есть класс значений в соответствии с описанием в "Стандартах кодирования С++", пункт 32. Короче говоря, это означает, что он предоставляет семантику значений и не имеет виртуальных методов.
Я не хочу, чтобы класс получался из этого класса. Помимо других, одна из причин заключается в том, что у него есть публичный нетривиальный деструктор. Но базовый класс должен иметь деструктор, открытый и виртуальный или защищенный и не виртуальный.
Я не знаю возможности написать класс значений, так что из него невозможно извлечь. Я хочу запретить его во время компиляции. Есть ли какая-нибудь известная идиома? Если нет, возможно, есть новые возможности в предстоящем С++ 0x? Или есть веские причины, что такой возможности нет?