boost
davidsu33
这个作者很懒,什么都没留下…
展开
-
boost的shared_ptr循环引用
boost的智能指针给编程带来了极大的便利,不需要关心内存的释放,不要要调用delete,而且还可以定制delete的方法。其实boost的智能指针是可以当成scope_exit来用的,同样是退出时处理。但是凡事都是有利有弊,boost的shared_ptr如果在循环引用的时候会出现无法释放内存的情况,所谓循环引用就是A智能指针类里存放B的智能指针,B的智能指针类里存放A,将a、b的值互相设置。增原创 2014-05-03 14:52:52 · 1249 阅读 · 0 评论 -
boost.iostatesaver,IO流的状态保存恢复机
// iostatesaver.cpp : 定义控制台应用程序的入口点。//iostatesaver状态保存机#include "stdafx.h"#include #include #include #include using namespace std;void test_iossaver(){string strfile = "d:/原创 2014-07-24 10:22:21 · 919 阅读 · 0 评论 -
boost.xpressive,Formatter的用法
//made by davidsu33//2014-6-17#include #include #include #include #include struct Formater{std::string const& operator()(const boost::xpressive::smatch & what) const{原创 2014-06-17 10:44:44 · 731 阅读 · 0 评论 -
boost.system
// system.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//#define BOOST_ALL_NO_LIB#define BOOST_SYSTEM_NO_LIB#include #include #include using namespace std;void testit(){ using namespace boo原创 2014-08-04 18:09:49 · 1390 阅读 · 0 评论 -
boost的multi_array的用法
// multiArray.cpp : 定义控制台应用程序的入口点。//made by davidsu33//2014-6-20#include "stdafx.h"#include #include #include #include #include #include #include #include #include vo原创 2014-06-20 16:13:08 · 1881 阅读 · 0 评论 -
boost.core.enable_if
//made by davidsu33//boost.core.enable_if#include "stdafx.h"#include #include template struct Test{ typename T TypeName;};void test_enableif(){ //enable_if的用法是如果条件成立,则推导出类型T作为type //否原创 2014-09-21 21:34:04 · 815 阅读 · 0 评论 -
boost.property_tree
//made by davidsu33//boost.property_tree是一个保存了多个属性值的树形数据结构//boost.property_tree可以解析xml ini json和info四种格式的文本#include #include #include #include #include #include using namespace std;void原创 2014-09-21 22:25:58 · 1043 阅读 · 0 评论 -
boost静态断言的简单实现
boost的静态断言可以实现在编译器就检测错误的类型或语法原创 2014-09-11 11:21:25 · 1069 阅读 · 0 评论 -
multi_array的正确(错误)用法说明
#include #include #include #include #include #include #include using namespace std;void test_multiArray(){ //using namespace boost; typedef boost::fast_pool_allocator FastPoolAllocator原创 2014-09-13 22:14:12 · 1611 阅读 · 0 评论 -
boost.multi_array 的基本用法(2)
//made by davidsu33//2014-9-14 11:51#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include #include #include #include using原创 2014-09-14 11:49:13 · 2544 阅读 · 0 评论 -
boost.multi_array学习-子视图用法(3)
//made by davidsu33//2014-9-14 11:51#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include #include #include #include using原创 2014-09-14 16:59:05 · 1768 阅读 · 0 评论 -
boost.lambda
// boost.lambda表达式用法// made by davidsu33// 2014-9-22#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include #include using names原创 2014-09-22 23:25:12 · 1072 阅读 · 0 评论 -
boost.locale 初用
// boost编码转换// made by davidsu33#include "stdafx.h"#include #include using namespace std;//GBK 2 UTFwstring strToWstr(const string& str){ return boost::locale::conv::to_utf(str, "GBK");}原创 2014-09-30 00:04:48 · 2689 阅读 · 0 评论 -
boost.crc
// boost crc校验// made by davidsu33//crc_16_byte crc_32_byte#include "stdafx.h"#include #include #include #include #include #include #include using namespace std;void calcFileCrc32(cons原创 2014-09-30 08:54:48 · 1271 阅读 · 0 评论 -
两个boost::function判等问题
写了这样一段测试代码:struct A{ int f(int) { return 0;}};A a;typedef function FunType;FunType fun1 = bind(A::f, &a, _1);FunType fun2 = bind(A::f, &a, _1);bool result = fun1 == fun2;转载 2014-10-11 15:14:12 · 903 阅读 · 0 评论 -
利用boost.python 通过c++语言来扩展python (python.boost)
python语言的优良性就不多说了,我想提下如何使用boost.python,通过boost.python既可以将python转移到C++上,通过Python库,也可以通过C++来扩展python,下面主要介绍使用boost.python来扩展python的功能,第一次用boost.python,倒腾了半天才搞定:首先列出我的测试环境:我用的是VS2010,python2.7,我用VS20原创 2014-12-03 16:58:48 · 1391 阅读 · 0 评论 -
boost.xpressive
//made by davidsu33//2014-6-11#include #include #include #include #include void use_dynamic_xpressive(){std::string srx("^\\w{2}.?(x|y)z{3}$");boost::xpressive::sregex原创 2014-06-11 22:52:54 · 647 阅读 · 0 评论 -
boost.serialization中基类指针容器存子类对象的序列化
// serialize.cpp : 定义控制台应用程序的入口点。//通过基类指针容器来实现序列化//NB啊//2014-7-4 made by davidsu33#include "stdafx.h"#include #include #include #include #include #include #include #include using name原创 2014-07-04 17:19:55 · 1384 阅读 · 0 评论 -
Local Functions
int BOOST_LOCAL_FUNCTION(int x, int y) { // Local function. return x + y;} BOOST_LOCAL_FUNCTION_NAME(add)BOOST_TEST(add(1, 2) == 3); // Local function call.int BOOST_LOCAL_FUNCTION(void)原创 2014-05-03 15:51:52 · 1832 阅读 · 0 评论 -
自己做TypeList编写的测试Demo
自己编写的TypeListDemo,不错很好玩的东西#include #include #include using namespace std;struct NullType {};templatestruct TypeList{ typedef Head HeadType; typedef Tail TailType;};//仅仅声明,不实现 template原创 2014-04-03 08:44:51 · 954 阅读 · 0 评论 -
boost的timer和datetime
boost的timer采用的是跨平台的clock,系统始终来实现的,可以控制精确度,windows平台的精度为100原创 2014-05-08 09:36:26 · 692 阅读 · 0 评论 -
boost的fusion篇之container
fusion的意思是融合,将很多的模板技术融合进来,fusion中划分了很多的子模块,包含适配器模块(adapter)、算法模块(algorithm)、容器(container)、函数功能(functional)、迭代(iterator)、元编程(mpl)、序列(sequence)、元祖(tuple)、视图(view),今天就简单说下fusion的容器模块,fusion的容器跟咱们使用的tuple原创 2014-04-09 10:32:40 · 3163 阅读 · 0 评论 -
boost日期用法
// boost2.cpp : 定义控制台应用程序的入口点。//boost gregorian_date usage//made by davidsu33 2014-5-10#include "stdafx.h"#include #include #include #include #include using namespace std原创 2014-05-10 22:37:00 · 2006 阅读 · 0 评论 -
boost的posix_time用法详解01
// boost_time.cpp : 定义控制台应用程序的入口点。//made by davidsu33//2014-5-11//the usage of posix_time#include "stdafx.h"#include #include #include using namespace std;#define SHOW_VARIABLE(x)\{\ cou原创 2014-05-11 19:12:35 · 12338 阅读 · 0 评论 -
boost库完全开发指南
第1章 Boost法度库泛论应用Boost,将大大加强C++的功能和发挥解析力 第2章 时候与日期timer供给毫秒级的计时精度,内部是经由过程std::clock取时候的progress_timer主动打印某生命周期的履行时候原则上法度库的代码是不该该被用户批改的progress_display可以在把握台上显示法度的履行进度date_time库能很好的默示日期时候概念,并能和C的时候布局tm进转载 2014-04-28 08:41:42 · 1999 阅读 · 0 评论 -
enable_shared_from_this用法
shared_from_this()是enable_shared_from_this的成员 函数,返回shared_ptr。首先需要注意的是,这个函数仅在shared_ptr的构造函数被调用之后才能使 用。原因是enable_shared_from_this::weak_ptr并不在构造函数中设置,而是在shared_ptr的 构造函数中设置。 如下代码是错误的:cla转载 2014-05-12 21:49:17 · 1688 阅读 · 0 评论 -
boost的scope_exit的用法
boost的scope_exit中1.4.9的版本和1.5.5的版本差异很大,以前boost1.4.9的scope_exit不支持原创 2014-04-28 09:30:13 · 3114 阅读 · 0 评论 -
遵照std::allocator实现自定制的内存分配器
下面是标准库STL中allocator的实现templateclass allocator: public _Allocator_base{ // generic allocator for objects of class _Typublic:typedef allocator other;typedef _Allocator_base _Mybase;t原创 2014-05-13 22:50:15 · 3099 阅读 · 0 评论 -
enable_shared_from_this
编写用来学习boost的enable_shared_from_this的测试代码,仅用来学习。原创 2014-05-12 22:07:09 · 685 阅读 · 0 评论 -
boost.operatos中基类链技术
boost的operators库解决了用最少的操作符重载来完成最多的操作符实现。例如使用= ,原创 2014-06-08 18:58:06 · 1372 阅读 · 0 评论 -
boost.algorithm boost.assign boost.lambda
// algrothim.cpp : 定义控制台应用程序的入口点。//made by davdidsu33//#include "stdafx.h"#include #include #include #include #include #include #include #include #include #include #include #includ原创 2014-06-27 15:13:22 · 804 阅读 · 0 评论 -
boost中serialization模块的单体类
// singleton.cpp : 定义控制台应用程序的入口点。//BOOST实现单体的两种方式//1.通过boost的pool的singleton实现//2.通过boost的serialization的singleton实现,采用继承或则定义一个单体类型#include "stdafx.h"#include #include #define SGOB原创 2014-06-08 18:10:32 · 1862 阅读 · 0 评论 -
手写格式化类DFormat,用到boost.regex boost.regex_replace boost.bind等
// format.cpp : 定义控制台应用程序的入口点。//made by davidsu33//boost.format的用法。//2014-6-10 9:56#include "stdafx.h"#include #include #include #include #include #include //#include #原创 2014-06-10 14:55:22 · 774 阅读 · 0 评论 -
boost的operator操作符
// operators.cpp : 定义控制台应用程序的入口点。//made by davidsu33//2014-6-8 18:40#include "stdafx.h"#include #include #include using namespace std;//utility中提供的rel_ops,操作符之间的转换//通过实现 ! >=原创 2014-06-09 15:55:58 · 833 阅读 · 0 评论 -
boost
/*数据结构类:any (变体数据)bimap (双向map)tuple(元祖)tribool (三态)variant (有限类型的变体数据 boost::variant,更类似union)heap (优先级数据结构,跟STL的heap一样)multi_index (多维索引)特定领域类:date_time (时间日期)crc (冗余计算码)原创 2016-11-30 20:46:03 · 273 阅读 · 0 评论