《C++ Template Metaprogramming》习题3-0
来源:互联网 发布:神偷4优化补丁 编辑:程序博客网 时间:2024/05/21 14:52
习题:
利用BOOST_STATIC_ASSERT为1.4.1节中展示的binary模板添加错误检查功能,使得若N为0和1以外的数字,则binary<N>::value会导致编译错误。
#include "boost/mpl/bool.hpp"#include "boost/mpl/eval_if.hpp"#include "boost/mpl/and.hpp"#include "boost/static_assert.hpp"template<int N>struct only_contain_01_bits : mpl::eval_if_c< ((N >= 0) && (N <= 9)), typename mpl::eval_if_c< ((0==N) || (1==N)), mpl::true_, mpl::false_ >, mpl::and_<only_contain_01_bits<N % 10>, only_contain_01_bits<N/10> > >{};
0 0
- 《C++ Template Metaprogramming》习题3-0
- Template Metaprogramming
- template metaprogramming
- [翻译] Effective C++, 3rd Edition, Item 48: 感受 template metaprogramming(模板元编程)
- Functional Programming & Template Metaprogramming
- CppCon - Modern Template Metaprogramming 杂记
- C++ template metaprogramming学习笔记一
- 从今天开始翻译 C++ Template Metaprogramming
- 用Cpp11新template feature尝试metaprogramming
- ruby metaprogramming 0
- 《C++ Template Metaprogramming》译序——经典之后的经典
- 《C++ Template Metaprogramming》附录A——预处理元编程
- Template Metaprogramming
- 《C++ Template Metaprogramming》附录A——预处理元编程
- 《C++ Template Metaprogramming》译序——经典之后的经典
- Template Metaprogramming
- 《C++ Template Metaprogramming》附录A——预处理元编程
- 《C++ Template Metaprogramming》译序——经典之后的经典
- 删除重复记录SQL
- 微软“砸钱”双系统手机 虽不值得称道但也务实
- GIT忽略文件方式
- Rightmost Digit 数论
- 关于struct2的配置问题
- 《C++ Template Metaprogramming》习题3-0
- R语言多元分析系列
- Java中常见的坑
- 2.6内核前后--注册字符设备驱动区别
- [cocos2dx 3.0 (二)] 多线程std::thread的使用 以及performFunctionInCocosThread函数
- Redis C客户端Hiredis的安装
- Java那些不为人知的特殊方法
- Smurf攻击
- [Debug]内存问题的一些调试方法