苞米面 C++ 模板库 介绍
苞米面 C++ 模板库
简介
苞米面 C++ 模板库,无需编译,直接包含头文件就可以。
所有模板类和算法都包含在 bmm 名字空间里,例如: bmm::recent。
需要 C++ 编译器,支持 C++17 标准,只依赖 C++ STL 标准模板库。
依赖
C++ STL 标准模板库
使用说明
详细接口说明查看 doc/html 里的文档。
说明书和示例查看 doc/manual 里的文档。
示例
#include <iostream>
#include <vector>
#include "bmm/algo.hpp"
int main(int argc, const char *argv[])
{
std::cout << "algo example begin" << std::endl;
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = 3;
if (bmm::is_in(vec, n))
std::cout << "is_in: " << n << " is in vec" << std::endl;
else
std::cout << "is_in: " << n << " is not in vec" << std::endl;
int k = 10;
int add = 50;
std::cout << "if_in before: ";
for (auto i : 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 (auto i : vec)
std::cout << i << " ";
std::cout << std::endl;
std::cout << "algo example end" << std::endl;
return 0;
}
结果
algo example begin
is_in: 3 is in vec
if_in before: 1 2 3 4 5 6 7 8 9 10
if_in 10 += 50: 1 2 3 4 5 6 7 8 9 60
algo example end
功能说明
所有模板类和算法都包含在 bmm 名字空间里,例如: bmm::recent
容器
| 名称 | 头文件 | 说明书 | 简介 |
|---|---|---|---|
| recent | <bmm/recent.hpp> | recent | 最近使用的元素,类似于最近使用的文件 |
算法
| 名称 | 头文件 | 说明书 | 简介 |
|---|---|---|---|
| is_in | <bmm/algo.hpp> | is_in | 判断 value 是否在容器中 |
| if_in | <bmm/algo.hpp> | if_in | 如果 value 在容器中则,调用函数 __func |
| string_join | <bmm/string_algo.hpp> | string_join | 连接成一个字符串 |
| string_split | <bmm/string_algo.hpp> | string_split | 分割字符串 |
开源协议
项目地址
GITEE https://gitee.com/cnhemiya/bmm-cpp
苞米面 C++ 模板库 介绍的更多相关文章
- STL标准模板库介绍
1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...
- C++ 标准模板库介绍(STL)
1. STL 基本介绍 C++ STL(标准模板库)是惠普实验室开发的一系列软件的统称,是一套功能强大的 C++ 模板类.STL的目的是为了标准化组件,这样就不用重新开发,让后来者可以使用现成的组件, ...
- c++转载系列 std::vector模板库用法介绍
来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...
- STL学习系列之一——标准模板库STL介绍
库是一系列程序组件的集合,他们可以在不同的程序中重复使用.C++语言按照传统的习惯,提供了由各种各样的函数组成的库,用于完成诸如输入/输出.数学计算等功能. 1. STL介绍 标准模板库STL是当今每 ...
- C++_标准模板库STL概念介绍1-建立感性认知
标准模板库的英文缩写是STL,即Standard Template Library. STL里面有什么呢? 它提供了一组表示容器.迭代器.函数对象和算法的模板. 容器是一个与数组类似的单元,可以存储若 ...
- C++ 标准模板库STL 队列 queue 使用方法与应用介绍
C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...
- STL标准模板库(简介)
标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...
- Handlebars模板库浅析
Handlebars模板库简单介绍 Handlebars是JavaScript一个语义模板库,通过对view(模板)和data(ajax请求的数据,一般是json)的分离来快速构建Web模板.它采用& ...
- STL 简介,标准模板库
这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL. 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...
随机推荐
- 更新或添加properties文件(保留存在的properties文件的原有格式)
转载: https://www.cnblogs.com/wangzhisdu/p/7815549.html import java.io.BufferedWriter; import java.io. ...
- python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...
- 数据结构 - 单链表 C++ 实现
单链表 单链表的定义 typedef int ElemType; typedef struct LNode { ElemType data; LNode *next; } LNode, *LinkLi ...
- git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性
背景 最近我们组几个同事都投入到了一个新项目,互相之间的功能耦合比较紧密,因此,是打算从master上新拉一个分支,可以理解为我们几个人的开发分支,以develop代替. 一开始,我们是打算像svn那 ...
- C++ 并发编程2 --向线程函数传递参数
1向线程函数传递参数比较简单,一般的形式如下 void f(int i,std::string const& s);std::thread t(f,3, "hello"); ...
- 四种类型的数据节点 Znode ?
1.PERSISTENT-持久节点 除非手动删除,否则节点一直存在于 Zookeeper 上 2.EPHEMERAL-临时节点 临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与 zoo ...
- phpstorm chrome 添加xdebug扩展
转:https://blog.csdn.net/ltcm_sakura/article/details/102967859 一.Xdebug helper:php调试插件 http://chromec ...
- 如何获取 topic 主题的列表?
bin/kafka-topics.sh --list --zookeeper localhost:2181
- vue中ajax请求发送
示例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...
- ACM - 图论- 网络流 - 算法模板
\(EK\) 算法模板 #include <iostream> #include <queue> #include<string.h> using namespac ...