学习
实践
活动
工具
TVP
写文章

boost::string or boost::regex

> #include <boost/lexical_cast.hpp> #include <boost/algorithm/string.hpp> #include <boost/utility/string_ref.hpp ::algorithm::make_split_iterator(vSorceString, boost::algorithm::token_finder(boost::is_any_of(" "))) ::algorithm::make_split_iterator(vSorceString, boost::algorithm::token_finder(boost::is_any_of(" (,); <boost\algorithm\string\split.hpp> #include <boost\algorithm\string\regex.hpp> #include <boost\algorithm \\) in;"); boost::smatch MatchString; boost::regex_search(vContent, MatchString, MatchRegex); voA

6620

Boost

前言 我今天真的是被这个boost库搞到头炸,怎么在linux下安装boost库,及后续使用。 安装全过程 到这里下载boost的源码包,我下载的是unix平台的boost源码包,Version 为1.73.0。 这里有官网指导教程。 下载好,复制到桌面吧,之后解压,得到压缩包。 tar --bzip2 -xf boost_1_73_0.tar.bz2 切换到源码目录,cd boost_1_73_0,可以看到有一个bootstrap.sh文件 然后运行bootstrap.sh 接着就是安装boost,安装命令. /b2 install --prefix=/usr --prefix=/usr用来指定boost的安装目录,不加此参数的话默认的头文件在/usr/local/include/boost目录下,库文件在

69110
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    boost::bind和boost::function使用示例

    boost利器之bind和function使用示例.pdf C++11已支持bind和function,之前的不支持,但可以借助boost达到同样目的。 下面利用boost::bind和boost::function将它们统一成一个实现: void Xinit(boost::function exist_directory , boost::function (boost::bind(&access, _1, R_OK | W_OK | X_OK) , boost::bind(&mkdir, _1, S_IRWXU | S_IXGRP | S_IXOTH)) 1) boost::function 它的模板参数为函数原型,格式为:函数返回类型 (参数列表),其中的类型还可以为模板。 2) boost:bind 它可以带多个参数,第一个参数总是为函数地址,如果为非类成员函数,则后面跟参数列表,如果是类成员函数,则第二个参数为类对象的地址。

    22520

    boost: atomic

    https://blog.csdn.net/gongluck93/article/details/79679571 Code #include <iostream> #include <boost /atomic.hpp> using namespace std; using namespace boost; int main() { atomic<int> a(10); assert < endl; cout << "v = " << v << endl; system("pause"); } Github https://github.com/gongluck/boost_test

    52120

    编译boost

    VS2015编译boost1.62 Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。 我下载的地址是http://jaist.dl.sourceforge.net/project/boost/boost/1.62.0/boost_1_62_0.7z 2、生成编译工具 boost库自带了bootstrap D:\development_library\boost\boost_1_62_0>bootstrap.bat --help Building Boost.Build engine Failed to 如果使用相同的编译器构建Boost的多个变体,此选项将非常有用。system二进制名称不包括Boost版本号或编译器的名称和版本号。

    1.6K80

    boost asio

    boost asio异步操作 boost::asio::io_service任务队列 run阻塞,直到所有任务完成 stop停止任务阻塞 post任务加入队列,不执行 dispatch任务加入队列,立即执行 连接状态判断 asio包含errorcode参数的函数,不会抛出异常 可以尝试connect之后,判断错误码, boost::asio::error::already_connected 则表示已经连接 = boost::asio::error::not_connected判断连接 接收 tcp::socket m_socket_tclient; boost::asio::io_service m_io_service server_acceptor(m_io_service, tcp::endpoint(tcp::v4(), port)); server_acceptor.accept(m_socket_tclient); boost ::array<char, sizeof(PACKAGE_INFO)> buf; m_socket_tclient.read_some(boost::asio::buffer(buf), error);

    32950

    boost编译

    blog.csdn.net/daoer_sofu/article/details/103344747 生成编译工具 运行bootstrap.bat生成b2或者bjam生成工具 根目录如果没有可以在下面路径查找 boost

    82310

    Boost之LockFree

    很久之前对Boost里面LockFree的相关代码进行阅读,今天对以前的一些笔记进行一下总结! 了解以上基础知识后我们再来看LockFree的代码 Boost里面LockFree的代码主要分为:fressList.hpp, fresslist_base.hpp, queue.hpp,三个文件的详细注释如下

    9540

    boost lockfree queue-boost无锁队列「建议收藏」

    例子如下: #include <iostream> #include <boost/lockfree/queue.hpp> int main() { boost::lockfree::queue <int, boost::lockfree::fixed_sized<false> > queue(128); for (int i = 0;i < 10000;i++) queue.push(

    12440

    boost asio通信

    void DHNetwork::Network::CreateTCPServer(unsigned short port,CRRMCommon* recv) { boost::thread([port , recv]{ boost::asio::io_service io_serv; std::vector<std::shared_ptr<DHNetwork::Network>>::iterator true) { std::shared_ptr<Network> network = std::make_shared<Network>(port, io_serv); try{ boost (*it)->m_socket_tclient.is_open() || ec == boost::asio::error::not_connected) { (*it)->m_is_exit

    20310

    boost之timer

    timer的计数使用了标准头文件<ctime>里的clock()函数,它返回自进程启动以来的clock计数,每秒的clock数由宏CLOCKS_PER_SE...

    8010

    Boost asio 心得笔记

    Boost asio中有两点用的不爽: 1. asio中的所有对象都引用io_service 2. async_write还要自己保证内存在completed之前有效 有空要把这两点搞的更傻瓜一点,实际上在全异步模式下 NET IO分配两个线程足矣,async搞一个队列,completed时候删掉,还可以通过writev优化写, 现在在做的一个redrabbit lib 就是在boost asio上封装的更傻瓜一点。 想自己封装一下epoll, 不考虑移植性,很少的模板,比较简单的类关系, 看了一下asio 源码,其思路不是很复杂,但是为考虑移植性,使用了大量的模板和ifdef,可读性稍差, 我常常意识到,即使使用boost

    90870

    python boost相关配置

    1、首先python 是需要是--enable-unicode=ucs4编译的 2、boost 编译的时候 相关python的编译变量填清楚了 如:. python/bin/python --with-python-root=/usr/local/python/ --with-python-version=2.5 --prefix=/usr/local/boost _143/ --exec-prefix=/usr/local/boost_143/ 3、boost 需要编译出libboost_python 这个动态库 libboost_python.so 所以. /bjam runtime-link=shared install 4、修改环境变量 LD_LIBRARY_PATH 包含/usr/local/boost_143/lib/(为了在运行时可以获取到libboost_python.so

    25610

    试试Boost.Asio

    Boost.Asio 依赖项: Boost.System (所以它必须链接boost_system) [可选] 如果使用read_until() or async_read_until() 函数,则依赖 /asio.hpp> #include <boost/random.hpp> #include <boost/bind.hpp> #include <boost/thread.hpp> #include 创建Socket boost::shared_ptr<boost::asio::ip::tcp::socket> ptrCurSock = boost::shared_ptr<boost::asio 创建Socket boost::shared_ptr<boost::asio::ip::tcp::socket> ptrCurSock = boost::shared_ptr<boost::asio ,然后可以用自由函数boost::asio::read(),boost::asio::async_read(),boost::asio::write(),boost::asio::async_write

    1.8K10

    Boost UDP Transaction Performance

    这是一篇个人认为非常非常厉害的文章,取自这里。讲述了如何提升UDP流的处理速率,但实际涉及的技术点不仅仅限于UDP。这篇文章中涉及的技术正好可以把前段时间了解的...

    39210

    Boost Lockfree「建议收藏」

    Boost Lockfree flyfish 2014-9-30 首先lockfree ,如何去理解这个free 引用自《英语学习漫谈》  free诚然可以当自由来理解,但自由并没有触及到 free的核心概念 Lockfree的重要操作就是CAS(Compare And Set)原子操作 原子操作就是多个线程访问同一个资源时,有且仅有唯一 一个线程对该资源进行操作 BOOST中的宏定义 BOOST_ATOMIC_DETAIL_X86 _HAS_CMPXCHG8B BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B cmpxchg:比较并交换,也就是 伪代码 bool CAS(int* p,int 64位平台的处理方案 看boost::lockfree::detail::tagged_ptr代码 解决方式1 文件tagged_ptr_dcas.hpp 简化代码 template ::uint64_t compressed_ptr_t; public: typedef boost::uint16_t tag_t; private: union cast_unit

    9720

    boost::function的用法

    本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper),用来定义函数对象。 1.  介绍     Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。 boost.function能够代替函数指针并提供更大的灵活性。 2. 使用     Boost.Function 有两种形式:首选形式和便携式形式, 其语法如下: 首选形式 便携式形式 boost::function<float(int x, int y)>f boost 一个典型的例子     上面的几个例子没有体现出boost::function的作用来, 这里在写一个例子。

    739100

    Boost asio 官方教程

    通过使用在 boost/thread.hpp 中定义的 boost::thread 类,它来自于 Boost C++ 库 Thread,我们在 main() 中创建了两个线程。 在以上例子中,缓冲区的类型是 boost::array,它来自 Boost C++ 库 Array,定义于 boost/array.hpp. #include <boost/asio.hpp> #include <string> boost::asio::io_service io_service; boost::asio:: #include <boost/asio.hpp> #include <boost/thread.hpp> #include <boost/bind.hpp> #include <boost /scoped_ptr.hpp> #include <boost/shared_ptr.hpp> #include <boost/weak_ptr.hpp> #include <boost/

    11.7K71

    Boost.Thread-创建和管理线程-The Boost C++ Libraries

    The Boost C++ Libraries 创建和管理线程 在Boost.Thread库中最重要的类是boost ::thread,它在boost/thread.hpp中定义。 使用boost::thread #include <boost/thread.hpp> #include <boost/chrono.hpp> #include <iostream> void wait 通过传递类型为boost::chrono ::seconds的对象,可以设置一段时间。 boost::chrono::seconds来自第37章中介绍的Boost.Chrono。 sleep_for()仅接受Boost.Chrono的类型。即使Boost.Chrono已成为C ++ 11标准库的一部分,std::chrono中的类型也不能与Boost.Thread一起使用。 您只能在Boost.Thread中找到类boost::scoped_thread。 标准库中没有对应项。

    3K20

    The Boost C++ Libraries

    对于C++库,能够得到如此高的评价, 非Boost莫属了。可以看看Boost官网,如下图所示: ? 有兴趣的同行们,想研究一下的,请查看这本书《The Boost C++ Libraries》。 在线资源文档如下: 原书为德文版,主页:http://www.highscore.de/cpp/boost/ 英文版主页:http://en.highscore.de/cpp/boost/ 中文版主页:http://zh.highscore.de/cpp/boost/ 在线英文版主页如下图所示: ?

    51220

    扫码关注腾讯云开发者

    领取腾讯云代金券