zoukankan      html  css  js  c++  java
  • boost之is_pointer

    //BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_pointer,T,::boost::detail::is_pointer_impl<T>::value)
    //1.
    template< typename T > struct is_pointer
    : public ::boost::integral_constant<bool,::boost::detail::is_pointer_impl<T>::value>
    {
    public:
    };

    is_pointer<T>::value == ::boost::detail::is_pointer_impl<T>::value
    template< typename T >
    struct is_pointer_impl
    {
    BOOST_STATIC_CONSTANT(bool, value =
    (::boost::type_traits::ice_and<
    ::boost::detail::is_pointer_helper<typename remove_cv<T>::type>::value
    , ::boost::type_traits::ice_not<
    ::boost::is_member_pointer<T>::value
    >::value
    >::value)
    );
    };

    ------------------------------------------------
    template< typename T > struct is_pointer_helper
    {
    BOOST_STATIC_CONSTANT(bool, value = false);
    };
    TT_AUX_BOOL_TRAIT_HELPER_PARTIAL_SPEC(is_pointer_helper,T*,true)
    展开为
    template< typename T > struct is_pointer_helper<T*>
    {
    BOOST_STATIC_CONSTANT(bool, value = true);
    };
    ------------------------------------------------
    template <bool b>
    struct ice_not
    {
    BOOST_STATIC_CONSTANT(bool, value = true);
    };

    template <>
    struct ice_not<true>
    {
    BOOST_STATIC_CONSTANT(bool, value = false);
    };
    -------------------------------------------------
    template <bool b1, bool b2, bool b3 = true, bool b4 = true, bool b5 = true, bool b6 = true, bool b7 = true>
    struct ice_and;

    template <bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7>
    struct ice_and
    {
    BOOST_STATIC_CONSTANT(bool, value = false);
    };

    template <>
    struct ice_and<true, true, true, true, true, true, true>
    {
    BOOST_STATIC_CONSTANT(bool, value = true);
    };

  • 相关阅读:
    证明一下拉普拉斯的《概率分析论》观点
    Android实现小圆点显示未读功能
    命名 —— 函数的命名
    node.js 之爬虫
    ubuntu安装 tensorflow GPU
    古文(诗词文)—— 结构模式与复用
    Win10安装Ubuntu16.04 双系统
    python使用wget下载网络文件
    文字检测与识别资源
    10大深度学习架构:计算机视觉优秀从业者必备
  • 原文地址:https://www.cnblogs.com/wenlove/p/3087826.html
Copyright © 2011-2022 走看看