Я пытался выяснить, как написать концепцию, которая проверяет, является ли один класс, принимающий пакет параметров шаблона, не являющегося типом, производным от другого. Я перепробовал множество итераций, но так и не смог понять, как это будет сделано, и на данный момент я задаюсь вопросом, возможно ли это вообще.
Код: Выделить всё
struct A {
size_t x, y;
};
template
class Base {
public:
Base() = delete;
};
template
class Sub : Base {};
using foo = Sub;
// Concept to check if a type derives from Base
template
concept DerivesFromBase;
static_assert(DerivesFromBase, "foo must derive from Base");
У кого-нибудь есть умные идеи или кто-нибудь может подтвердить, возможно ли это?
Подробнее здесь:
https://stackoverflow.com/questions/792 ... plated-bas