boost学习
文章平均质量分 77
yanziguilai
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
boost::asio学习之[七] buffer
boost::asio学习 - buffer篇boost::asio::streambuf使用read_until() 和 async_read_until()读取line-based(使用"\r\n"或者其它自定义字符序列作为delimiter)数据时需要boost::asio::streambuf来缓存读取到的数据。下面是boost文档中的read_unitl()示原创 2014-04-17 21:06:45 · 1656 阅读 · 0 评论 -
meta program (1) swap_iter
开始学习模板元编程了#include #include #include #include #include "boost/assign/list_of.hpp"#include "boost/type_traits/is_const.hpp"#include "boost/type_traits/is_reference.hpp"#include "boost/type_tr原创 2014-05-07 14:03:20 · 1117 阅读 · 0 评论 -
c++模板元编程2
c++模板元编程第二章练习题2-0. 编写一个一元元函数add_const_ref,如果T是一个引用类型,就返回T,否则返回Tconst&。编写一个程序来测试你的元函数。提示:可以使用boost::is_same来测试结果。这个比较简单:template struct add_const_ref { typedef T const& type; }; templa原创 2014-05-07 23:44:37 · 2357 阅读 · 5 评论 -
boost::string 例题1
假设有一个语法正确的shader源文件,其包含若干关于uniform变量的定义。请写一个程序从某个shader源文件中提取其所有定义的uniform变量,要求记录其名称、数据类型和初始值(如果有定义),并且可以设计一个函数可以修改某个uniform变量的值。如下表所示,程序需要提取出一共6个uniform变量,并存放如某种数据结构中,其中3个有初始值,3个没有初始值,并且用户可以修改该数据结构原创 2014-07-10 22:45:09 · 1091 阅读 · 0 评论 -
关于序列化:把某个对象序列化成字节流
在网络编程中,一个经常的操作是将本地的数据块转换成字符流并将其发送到远端,远端将这个字符串流恢复成数据库。假设有如下一个类CObject,编写两个函数,分别将CObject中的成员变量转换为一个字符流(convert2Stream()函数),并将字符流的数据重新恢复到一个CObject对象中(convert2Object()函数):char* convert2Stream(const CObj原创 2014-07-11 22:01:57 · 2031 阅读 · 0 评论 -
boost::string or boost::regex
有时候写代码时会遇到以下问题假设有一个文本文件,其包含内容类似于C语言,其中有一行如下格式的语句:layout (local_size_x = a,local_size_y = b, local_size_z = c) in;其中用蓝色标记出的部分(layout, local_size_x, local_size_y, local_size_z, in)原创 2014-07-11 22:49:32 · 1354 阅读 · 0 评论 -
boost::signals::signal的用法
吃力的讲完boost::signals的ppt,然后接着就是做练习题。通过讲ppt,发现有一句话说的真好:你自己知道是一回事,你能给别人讲明白又是另外一回事。真的有些东西你自己理解,但是用语言去很难表达,是不是用语言难以表达暴露出自己对所理解的东西不是真正的理解?。。。。orz,不过讲完ppt之后,真的对boost::singals的理解又加深一层。好了废话不多说了,现在来看两个习题(ppt的内容原创 2014-11-10 11:06:51 · 3544 阅读 · 0 评论 -
boost::checked_delete
先看一段能够正常执行的代码,但会造成内存泄漏:deleteObject.h 实现删除一个CObjectItem的派生类的指针所指的内存#pragma oncenamespace smtlCheck{ class CObjectItem; class CDeleteObject { public: CDeleteObject(void); ~CDeleteObje原创 2015-01-21 14:28:10 · 1937 阅读 · 1 评论 -
boost::deadline_timer
boost::deadline_timer定义typedef basic_deadline_timer deadline_timer;basic_deadline_timer是个模板类。构造函数deadline_timer有三个构造函数:1 explicit basic_deadline_timer(boost::asio::io_service& io_servi原创 2015-01-22 20:44:14 · 4913 阅读 · 0 评论 -
boost::serialization(1)基础
boost.serialization库学习原创 2014-05-03 12:54:52 · 1451 阅读 · 0 评论 -
boost::asio学习之[六]简单聊天程序
#pragma once#include #include #include namespace ChatTest{ class chat_message { public: enum {header_length = 4, max_body_length = 1024}; public: chat_message() : body_length_(0) {} s原创 2014-04-16 20:43:27 · 1282 阅读 · 0 评论 -
怎样用boost::serialization去序列化派生模板类
本篇是boost::serialization 用基类指针转存派生类(错误多多,一波三折)的姊妹篇,这里只不过做一个总结。先来看一个基类class base_class{public: base_class(int m=0) : base_member_(0) {} virtual ~base_class() {} virtual void print_data() = 0;原创 2014-05-03 17:30:18 · 2538 阅读 · 0 评论 -
boost::asio学习之[五]运行udp tcp服务
#pragma once#include "udp_asy_service.h"#include "asy_service.h"namespace DoubleServer{ void fuo() { try { boost::asio::io_service io; AsyService::tcp_server tcp_ser(io); UdpAsySe原创 2014-04-14 23:05:38 · 1164 阅读 · 0 评论 -
boost::serialization 用基类指针转存派生类(错误多多,一波三折)
boost::serialization 也支持c++的多态,这样我们就可以通过使用基类的指针来转存派生类,我们接着上一篇( boost::serialization(2)序列化基类)的例子来看:基类和派生类的代码如下:class student_info{public: student_info() {} virtual ~student_info() {} s原创 2014-05-03 14:56:54 · 3447 阅读 · 0 评论 -
怎样用boost::serialization去序列化派生模板类(续)
在怎样用boost::serialization去序列化派生模板类这篇文章中,介绍了序列化派生类模板类,在写测试用例时一直出现编译错误,调了很久也没跳出来,今天偶然试了一下...居然调了出来。先看看变异错误的代码(。。。看不出有错,可是编译就有错)。基类代码:class base_class{public: base_cla原创 2014-05-05 00:26:20 · 2500 阅读 · 1 评论 -
boost::serialization 拆分serialize函数
在前篇boost::serialization 用基类指针转存派生类(错误多多,一波三折)文中我们都是使用serialize函数来实现序列化,其代码格式如下:private: friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int原创 2014-05-04 21:38:33 · 3961 阅读 · 0 评论 -
boost::mpl::eval_if的用法
最近看boost的时候总是遇见这个eval_if,不知道啥意思,就没法看下去了,比如前篇文章boost::serialization 拆分serialize函数分析时就出现这样一段代码:templateinline void split_member(Archive & ar, T & t, const unsigned int file_version){ typedef BOOS原创 2014-05-05 23:37:53 · 3280 阅读 · 0 评论 -
BOOST_CLASS_EXPORT
用基类的指针去转存派生类时除了上一篇boost::serialization 用基类指针转存派生类(错误多多,一波三折)之外,还有另一种更简单的方法:用BOOST_CLASS_EXPORT宏。下面我们来分析怎样用BOOST_CLASS_EXPORT来实现用基类的指针去转存派生类。首先来看前面实例的一段代码:void save(){ std::ofstream ofs("t7.x原创 2014-05-04 00:21:00 · 3616 阅读 · 0 评论 -
boost::serialization(2)序列化基类
在派生类中序列化一个基类假如有一个基类如下:class student_info{public: student_info() {} virtual ~student_info() {} student_info(const std::string& sn, const std::string& snm, const std::string& sg) : name_(sn),原创 2014-05-03 13:25:32 · 2286 阅读 · 0 评论 -
boost::asio学习之[八]acceptor 点滴
acceptoracceptor(io_service);acceptot(io_service, protocol_type);acceptor(io_service, endpoint_type, reuse_address = true);acceptor(io_service, protocol_type, native_handle_type);acceptor(basic_s原创 2014-04-23 10:16:05 · 9999 阅读 · 0 评论 -
boost::asio::io_service(之一)
boost::asio::io_service/// Provides core I/O functionality./** * The io_service class provides the core I/O functionality for users of the * asynchronous I/O objects, including: * io_service原创 2015-01-25 23:46:20 · 5148 阅读 · 2 评论
分享