bmm-cpp 苞米面 C++ 模板库开源项目

我要开发同款
匿名用户2022年02月09日
25阅读
开发技术C/C++
所属分类程序开发、常用工具包
授权协议Mulan

作品详情

苞米面C++模板库简介

苞米面C++模板库,无需编译,直接包含头文件就可以。所有模板类和算法都包含在bmm名字空间里,例如:bmm::recent。需要C++编译器,支持C++17标准,只依赖C++STL标准模板库。

依赖

C++STL标准模板库

使用说明

详细情况查看doc/html里的文档。

示例代码

#include<iostream>#include<vector>#include"bmm/recent.hpp"#include"bmm/algo.hpp"intmain(intargc,constchar*argv[]){bmm::recent<int>rec={1,2,3,4,5,6,7,8,9,10};std::cout<<"recentexamplebegin"<<std::endl;std::cout<<"beforerecent:";for(autoi:rec)std::cout<<i<<"";std::cout<<std::endl;rec.push(50);std::cout<<"push50"<<std::endl;std::cout<<"afterrecent:";for(autoi:rec)std::cout<<i<<"";std::cout<<std::endl;std::cout<<"recentexampleend"<<std::endl;std::cout<<std::endl;std::cout<<"algoexamplebegin"<<std::endl;std::vector<int>vec={1,2,3,4,5,6,7,8,9,10};intn=3;if(bmm::is_in(vec,n))std::cout<<"is_in:"<<n<<"isinvec"<<std::endl;elsestd::cout<<"is_in:"<<n<<"isnotinvec"<<std::endl;intk=10;intadd=50;std::cout<<"if_inbefore:";for(autoi:vec)std::cout<<i<<"";std::cout<<std::endl;bmm::if_in(vec,k,[add](int&i){i+=add;});std::cout<<"if_in"<<k<<"+="<<add<<":";for(autoi:vec)std::cout<<i<<"";std::cout<<std::endl;std::cout<<"algoexampleend"<<std::endl;return0;}

结果

recentexamplebeginbeforerecent:10987654321push50afterrecent:501098765432recentexampleendalgoexamplebeginis_in:3isinvecif_inbefore:12345678910if_in10+=50:12345678960algoexampleend功能说明

所有模板类和算法都包含在bmm名字空间里,例如:bmm::recent

模板类名称文件说明recent<bmm/recent.hpp>最近使用的元素,类似于最近使用的文件算法名称文件说明is_in<bmm/algo.hpp>判断value是否在容器中if_in<bmm/algo.hpp>如果value在容器中则,调用函数__func并返回true,否则返回false开源协议

MulanPSL-2.0

项目地址

GITEE    https://gitee.com/cnhemiya/bmm-cpp

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论