我正在尝试做一个静态断言来检查两种类型 A 和 B;类 A 应该具有签名 A(B& b) 或 A(const B& b) 的公共构造函数。
我想要某种东西来is_constructable_from<A, B>::value
评估true
是否存在公共A(B&b)或A(const B&b)或A(B b)。
我想这与 boost is_convertible type_trait有点不同。
我如何实现这一目标?
我是否错过了可以在 Boost Type Traits 或 Concept Check 库中执行此操作的内容?
现在我需要这个来静态检查表达式A a(b)
是否有效,正如 Sehe 所建议的那样,它比以前的概念限制更少。欢迎为这两种情况提供解决方案。我被允许使用 Boost。