是否可以确定一个类型是否是作用域枚举类型?

2024-01-24

是否有类型特征,或者是否可以编写类型特征is_scoped_enum<T>这样:

  • if T是一个范围枚举,is_scoped_enum<T>::value is true and
  • if T是任何其他类型,is_scoped_enum<T>::value是假的

我想测试它是否是一个枚举and不能隐式转换为基础类型应该可以解决问题。

template <typename T, bool B = std::is_enum<T>::value>
struct is_scoped_enum : std::false_type {};

template <typename T>
struct is_scoped_enum<T, true>
: std::integral_constant<bool,
    !std::is_convertible<T, typename std::underlying_type<T>::type>::value> {};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以确定一个类型是否是作用域枚举类型? 的相关文章

随机推荐

  • XPath:通过纯文本查找 HTML 元素

    请注意 这个问题是一个更精致的版本上一个问题 https stackoverflow com q 18655765 1839209 我正在寻找一个 XPath 它可以让我在 HTML 文档中查找具有给定纯文本的元素 例如 假设我有以下 HT
  • Python 3+ 在函数调用中导入包?

    随着时间的推移 我已经为各种事情建立了一系列实用函数 我想将它们全部放在包中 其结构比仅包含所有功能的单个文件要多一些 其中一些函数是在假设已导入某些包的情况下编写的 例如我有一些numpy and pandas假设类似的效用函数impor
  • FPDF - 在放置之前确定 MultiCell 的高度?

    基本问题 在将 MultiCell 放入文档之前是否可以确定其高度 原因 我的任务是创建 PDF 版本的表单 这种形式允许文本输入 并且结果长度可变 一个人可以不输入任何内容 另一个人可以写几段 当权者 不希望这段文字在页面之间中断 目前
  • 何时在 django ORM 中使用或不使用 iterator()

    这是来自关于查询集的 django 文档iterator method https docs djangoproject com en dev ref models querysets django db models query Quer
  • java:Java 15 中包 jdk.incubator.foreign 不可见错误

    所以我下载了 JDK 15 OpenJDK 在Intellij中运行以下代码 import jdk incubator foreign MemorySegment The problem seems to occur here in thi
  • 将 std::multimap 转换为 std::priority_queue

    我有一个使用编写的函数std multimap正是因为std multimap 经过分析 我意识到我只使用了std multimap as a heap 所以我尝试用std priority queue它只允许堆操作 希望这种用法会更快 当
  • ASP.NET MVC - 如何让用户确认删除

    他 我有这个页面 其中表格中的每个项目旁边都有复选框 并且希望允许用户选择其中的一些项目并按我的删除按钮 我只是无法想出 jquery 来制作确认窗口并仅在按下 是 时才提交 这是我的页面 table width 100 cellpaddi
  • Fortran 77 中的字符串数组

    我有一个关于 Fortran 77 的问题 但找不到解决方案 我正在尝试存储定义如下的字符串数组 character matname 255 255 这是一个由 255 个字符串组成的数组 长度为 255 后来我从文件中读取名称列表 并像这
  • Rails 3 邮件程序不工作并且不记录任何错误

    我已经尝试了各种配置 但仍然无法在我的开发环境中从 Rails 发送电子邮件 我安装了 mailutils 以从命令行尝试此操作 它起作用了 我收到了电子邮件 当然是垃圾邮件 echo test 邮件 s 主题 电子邮件受保护 cdn cg
  • 通过 TFS 发布定义中的电子邮件批准进行持续集成

    我正在使用 Microsoft Visual Studio Team Foundation Server 版本 14 102 25423 0 作为贵公司持续集成部署的一部分 我想实现以下内容 我创建了一个发布定义 并在其下配置了两个环境 Q
  • Android意图系统背后的基本原理

    我一直在寻找对此的解释 但找不到 我在一次工作面试中被问到为什么 Android 不允许通过意图传递任何类型 我很清楚可能性 序列化 实现 Parcelable 接口 捆绑等 我想了解拒绝有意传递自定义类型 对象的决定背后的基本原理 我被引
  • 返回之前测试属性是否不为 Null

    我有以下财产 public MyType MyProperty get set 我想更改此属性 以便如果值为空 它将首先填充该值 然后返回它 但是without使用私有成员变量 例如 如果我这样做 public MyType MyPrope
  • Sympy:指数相乘而不是总和指数相乘

    我正在搜索如何告诉 SymPy 使用指数乘法而不是总和的指数 也就是说 它当前给我 exp a b 我想要得到 exp a exp b 一定有一个相当简单的方法 但我似乎找不到 你可以使用expand http docs sympy org
  • 具有可变单元格大小的 UICollectionView

    我在 UICollectionView 中单元格的大小方面遇到了一些困难 在android中 你可以轻松地 包裹 cell的大小 就像在 iOS 中一样 您有一个函数调用 GetCell 您可以决定它的大小 iOS 中的区别在于 在 UIC
  • 逐行检查列中是否存在值并逐行更新新列

    在 R 中 如何检查每行列表中的任何值 例如 2 3 或 4 是否出现在三列中的任何一列中 然后更改第四列中的该行 假设我有一个 df A B C D 1 1 1 2 1 1 3 1 1 我想写 没有for循环 如果第 n 行 A 列或 B
  • 查找给定纬度和经度坐标的州

    我有一组 900 个纬度和经度坐标 我需要一个相对简单的方法来查找这些坐标引用的 州 如果有帮助的话 数据是excel格式的 谷歌提供了一个地理编码 https developers google com maps documentatio
  • new PeerConnectionFactory() 在 android 上出现错误

    我正在尝试在 Android 上实现 WebRTC DataChannel 我想创建一个简单的对等连接对象 它将打开 DataChannel 以使用 WebRTC 通过网络发送数据 当我尝试创建 PeerConnection 对象时出现错误
  • ARG 或 ENV,在这种情况下使用哪一个?

    这可能是一个微不足道的问题 但阅读文档ARG https docs docker com engine reference builder arg and ENV https docs docker com engine reference
  • Angular 服务 - 返回的对象类型是对象,而不是指定的通用类型

    我有一个 angular5 服务 它执行 HTTP 获取并返回特定类型 如下所示 public getProductByIDproductId string Observable
  • 是否可以确定一个类型是否是作用域枚举类型?

    是否有类型特征 或者是否可以编写类型特征is scoped enum