STL_type_traits.h 发表于 2020-05-17 | 字数统计: | 阅读时长 ≈ ✍✍✍ 123456789101112131415161718192021222324252627282930313233343536373839404142434445#pragma once#ifndef MYTINYSTL_TYPE_TRAITS_H_#define MYTINYSTL_TYPE_TRAITS_H_//这个头文件用于提取类型信息//use standard header for type_traits#include <type_traits>namespace mystl{ //helper struct template <class T,T v> struct m_integral_constant { //常量表达式,在编译期就可以计算出结果的表达式 static constexpr T value = v; }; template <bool b> //类型重命名 using m_bool_constant = m_integral_constant<bool, b>; //typedef m_bool_constant<true> m_true_type; using m_true_type = m_bool_constant<true>; using m_flase_type = m_bool_constant<false>; /*************************************************************/ //type_traits //is_pair // --- forward declaration begin template <class T1,class T2> struct pair; // --- forward declaration end template <class T> struct is_pair : mystl::m_false_type{}; template <class T1,class T2> struct is_pair<mystl::pair<T1,T2>>:mystl::m_true_type{};}#endif // !MYTINYSTL_TYPE_TRAITS_H_ 本文标题:STL_type_traits.h 文章作者:zhz 发布时间:2020年05月17日 - 17:05 最后更新:2020年05月17日 - 17:05 原始链接:http://yoursite.com/2020/05/17/STL-type-traits-h/ 许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。 本文作者: zhz 本文链接: http://yoursite.com/2020/05/17/STL-type-traits-h/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!