map 和 multimap 之间的 C++ 模板特化

标签 c++ c++11 templates metaprogramming

在这里阅读其他主题我已经编写了检测类是否为关联容器的代码 [1]。现在为了使用 equal_range 我需要检测它是法线贴图还是多重贴图。有什么方法可以实现我的目标吗?

最佳答案

您可能会添加自己的类型特征:

template<typename>
struct is_map : std::false_type {};

template<typename K, typename V>
struct is_map<std::map<K, V>> : std::true_type {};

WANDBOX例子

关于map 和 multimap 之间的 C++ 模板特化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44778489/

相关文章:

c++ - 没有 ./a.out 在 g++ 中生成

c++ - 在链接列表中使用 C++ 模板,列表中出现多种不同类型

templates - Go:在模板文件中打印 URI(echo 框架)

在 symfony 中找不到 PHP 模板

C++ STL 列表函数使用空列表进行段错误

c++ - 忽略 C++ 中模板类的重复显式实例化

c++ - 从 Eigen::VectorXd 获取矩阵 View / block ,无需复制(共享内存)

c++ - std::uniform_real_distribution 使用多少个随机数?

c++ - 复杂层次结构中的统一初始化语法?

c++ - 具有不同参数 C++ 的工厂注册表