
boost
yvhqbat
whuster
展开
-
boost::program_options 解析命令行参数
提供强大的命令行参数处理功能,不仅能够分析命令行,也能够从配置文件和环境变量中获取参数,实现了分出完善的程序配置选项处理功能。program_options 库的解析程序选项功能由三个基本组件构成:选项描述器:定义选项和选项的值分析器:依据选项描述器的定义解析命令行参数或者数据文件存储器:把分析器的结果保存起来共程序使用boost::options 库的使用实例:#include <boo原创 2016-07-14 16:51:54 · 2193 阅读 · 0 评论 -
Boost 实用工具:noncopyable、BOOST_BINARY宏、BOOST_CURRENT_FUNCTION宏、bitset类型
1. boost::noncopyable位于<boost/noncopyable.hpp>中2. BOOST_BINARY宏位于<boost/utility/binary.hpp>中3. BOOST_CURRENT_FUNCTION宏位于<boost/current_function.hpp>中 与其类似的还有__FILE__ //所在文件__LINE__ //所在行号__FUNCITO原创 2016-07-14 10:08:38 · 1113 阅读 · 0 评论 -
boost::asio名字空间中的deadline_time类:定时器
定时器是asio库中最简单的一个IO模型,提供等候时间终止的功能。定时器功能的主要类是:deadline_timer类,类摘要如下使用定时器时的头文件:#include <boost/asio.hpp>#include <boost/date_time/posix_time/posix_time.hpp>using namespace boost::asio;1. 同步定时器//同步定时器的用原创 2016-07-16 17:21:23 · 1027 阅读 · 0 评论 -
Boost log库的使用
1. Boost的log库最简单的用法#include <boost/log/trivial.hpp>void log_test(){ BOOST_LOG_TRIVIAL(trace) << "A trace severity message"; BOOST_LOG_TRIVIAL(debug) << "A debug severity message"; BOOST_LO原创 2016-07-16 11:23:37 · 950 阅读 · 0 评论 -
boost::thread库 并发编程
所在文件和命名空间:#include <boost/thread.hpp>using namespace boost;1. 时间功能多线程编程经常要用到超时处理,需要表示时间的概念,thread库直接利用date_tiem库提供对时间的支持。this_thread::sleep(posix_time::seconds(2)); //当前线程睡眠两秒//this_thread是thread的子命原创 2016-07-15 10:26:39 · 3206 阅读 · 0 评论 -
条件变量实例:生产者-消费者模式的后进先出型(std::stack)缓冲区
综合应用boost::thread库(thread, mutex, condition_variable_any)实现的 生产者-消费者模式 后进先出型(std::stack)缓冲区 stack可以经过轻微修改使用队列替换。#include <boost/thread.hpp>using namespace boost;#include <stack>#include <iostr原创 2016-07-16 01:04:43 · 699 阅读 · 0 评论 -
boost::signal2 信号/插槽(线程安全的观察者模式)
signals2基于Boost的另一个库signals,实现了线程安全的观察者模式。在signals2中,观察者模式被称为信号/插槽(signals and slots),它是一种函数回调机制,一个信号关联了多个插槽,当信号发出时,所有关联它的插槽都会被调用。signals2位于名字空间 boost::signals2 ,头文件<boost/signals2.hpp>,即:#include <bo原创 2016-07-15 10:25:12 · 6806 阅读 · 0 评论 -
Boost 内存管理(smart_ptr库,pool库)
1. RAII机制为了管理内存等资源,C++程序员通常采用RAII机制(资源获取即初始化,Resource Acquisition Is Initialization),在使用资源的类的构造函数中申请资源,然后使用,最后在析构函数中释放资源。 1. 在栈上创建对象(局部对象):RAII机制正常工作,当离开作用域时,对象会自动销毁从而调用析构函数释放资源 2. 在堆上创建对象,使用new操原创 2016-07-07 15:32:24 · 473 阅读 · 0 评论 -
boost::filesystem 库(文件系统)
filesystem 库是一个可移植的文件按系统操作库。可以跨平台操作目录、文件等。#include <boost/filesystem.hpp>using namespace boost::filesystem;#include <iostream>using namespace std;void os_test(){ path p1("./a_dir"); cout <<原创 2016-07-14 17:44:52 · 906 阅读 · 0 评论 -
boost::asio 的daytime客户端和服务器实例
1. 服务器端server.h#include <boost/asio.hpp>#include <boost/array.hpp>using boost::asio::ip::tcp;using namespace boost::asio;#include <memory>#include <utility>#include <vector>#include <ctime>#incl原创 2016-07-18 01:12:53 · 872 阅读 · 0 评论