当前位置: 首页 > wzjs >正文

wordpress 文章保存在哪里seo网站页面f布局

wordpress 文章保存在哪里,seo网站页面f布局,上海网站建设_永灿品牌建站,17网站一起做网店东莞简介 preprocessor是一些宏处理的库。在看signal2代码时,看在不支持c11变参数模板时,会使用到该库中的内容 signal2模板参数 在不支持变参模板时,使用该宏来定义模板参数 #define BOOST_SIGNALS2_SIGNATURE_TEMPLATE_DECL(arity) \typena…

简介

preprocessor是一些宏处理的库。在看signal2代码时,看在不支持c11变参数模板时,会使用到该库中的内容

signal2模板参数

在不支持变参模板时,使用该宏来定义模板参数

#define BOOST_SIGNALS2_SIGNATURE_TEMPLATE_DECL(arity) \typename R BOOST_PP_COMMA_IF(arity) \BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PP_INC(arity), typename T)

BOOST_PP_COMMA_IF:如果arity为非0,则是逗号,否则为空
BOOST_PP_INC:将arity加1
BOOST_PP_ENUM_SHIFTED_PARAMS:该宏有些复杂

BOOST_PP_ENUM_SHIFTED_PARAMS

#define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)

BOOST_PP_DEC_:如果count为0,保持不变,否则为count-1
BOOST_PP_REPEAT:其定义为

# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4))

BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4):宏变换为BOOST_PP_NODE_2(BOOST_PP_REPEAT_P)(BOOST_PP_REPEAT_P),因为BOOST_PP_NODE_2宏定义为

#define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3)

其中p(2)BOOST_PP_REPEAT_P(2),宏BOOST_PP_REPEAT_P定义为

#define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL))

所以BOOST_PP_REPEAT_P(2)

BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ 2(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL))

其使用的宏有

# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d)
# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d)
# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d)

所以BOOST_PP_REPEAT_ 2(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL)替换后为BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3(3,0,d),而BOOST_PP_TUPLE_EAT_3宏为

# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2)

所以BOOST_PP_REPEAT_ 2(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL)最终替换后为BOOST_PP_NIL
所以BOOST_PP_REPEAT_P(2)最终替换为BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL,而
其定义为

# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1

BOOST_PP_NODE_2(BOOST_PP_REPEAT_P)(BOOST_PP_REPEAT_P)替换为BOOST_PP_NODE_1(BOOST_PP_REPEAT_P)
由于

#define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2)

上面继续替换为BOOST_PP_IIF(BOOST_PP_REPEAT_P(1), 1, 2)
相关宏有

# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d)
# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d)

BOOST_PP_NODE_1(BOOST_PP_REPEAT_P)替换为1
所以BOOST_PP_REPEAT宏替换后为BOOST_PP_REPEAT_1
则宏BOOST_PP_ENUM_SHIFTED_PARAMS替换后为

#define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT_1(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)

继续替换后为

#define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT_1_<count-1>(BOOST_PP_ENUM_SHIFTED_PARAMS_M, param)

形式为

#define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_M(2, 0, param) BOOST_PP_ENUM_SHIFTED_PARAMS_M(2, 1, param) ....

相关宏为

# define BOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(param, BOOST_PP_INC(n))
http://www.dtcms.com/wzjs/577836.html

相关文章:

  • 深圳商城手机网站建设广州全屋定制
  • 网站建设论文题目建网站的详细步骤
  • 国外网站推广重庆网站搭建公司
  • 呼玛网站建设新东方英语培训机构官网
  • 珠海营销营网站建设手机app用什么语言编写的
  • 网站首页怎么做ps电商网站设计是什么
  • 芜湖网站建设价格网站建设共享ip
  • 深圳做h5网站游戏推广怎么做挣钱
  • 制作网站免费建站新品手机发布会一览表
  • 网站seo其应用深圳建站公司
  • 淮安网站建设公司ppt下载网站哪个好
  • wordpress如何做导航网站各大网站推荐
  • 做百度移动端网站软件嘉兴市建设局网站
  • 黑群晖做php网站林州二建集团建设有限公司网站
  • 宁夏网站建设优化免费做全网解析电影网站赚钱
  • 苏州网站建设方案策划把自己做的网站传到网上
  • 网站建设力洋门户网站建设与开发
  • 建网站的客户公司起名免费网
  • 外贸网站违反谷歌规则建设网站的服务费是指什么意思
  • 做网站最便宜大庆+网站建设
  • 在建设部网站上的举报个人网站设计目的
  • 申请一个免费的网站空间wordpress菜单里想在添加一个菜单
  • 福州mip网站建设做网站开发能挣钱
  • 网站做301好不好建设官方网站需要那些人员
  • 图书管理系统网站开发绪论信息技术教案 建设我们的网站
  • 公司网站一年多少钱中企动力网站建设合同
  • 更好的网站制作wordpress源神
  • 做性视频网站有哪些鲜花网站建设的利息分析
  • 怎么创办个人网站网站流量怎么变现呢
  • 宁波网站建设设计至诚服务西宁微信网站建设