苞米面 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的文章的时候,我不得不承认我当时低估了这个话 ...
随机推荐
- [转载]我的WafBypass之道(upload篇)
现在位置: 首页 > 文章 > Web安全 > 正文 我的WafBypass之道(upload篇) 2016 /11/30 15:20 4,901 沙发 0x00 前言 玩waf当然 ...
- 14FPGA综设之图像边沿检测的sobel算法
连续学习FPGA基础课程接近一个月了,迎来第一个有难度的综合设计,图像的边沿检测算法sobel,用verilog代码实现算法功能. 一设计功能 (一设计要求) (二系统框图) 根据上面的系统,Veri ...
- bzoj4671 异或图(斯特林反演,线性基)
bzoj4671 异或图(斯特林反演,线性基) 祭奠天国的bzoj. 题解时间 首先考虑类似于容斥的东西. 设 $ f_{ i } $ 为至少有 $ i $ 个连通块的方案数, $ g_{ i } $ ...
- 【Java面试宝典】说说你对 Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理, aop 的实现原理,说说 aop 中的几个术语,它们是怎么相互工作的?
AOP与IOC的概念(即spring的核心) IOC:Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度.而sprin ...
- vue集成webpack,遭遇 SyntaxError: Unknown word
这个错误根本和我的项目八竿子打不着,错误原因是配置了 css 的rule,将 这个rule注释掉,正常运行没有问题, 可是我却有强迫症,既然处理 node_modules 文件里才出现的错误,那么我就 ...
- 客户端回调 Watcher?
客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调 Watcher. 客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了.
- 企业流程再造(BPR)--系统重构
企业流程再造(BPR) 企业流程:指生产或服务过程中一连串活动的工作流程 企业流程再造:对企业流程所进行的根本性的在思考和彻底的再设计,以使企业的速度,质量,服务和成本等关键业绩指标获得根本性的改善
- 定常系统(时不变系统)和时变系统&& 动态系统和静态系统
根据系统是否含有参数随时间变化的元件,自动控制系统可分为时变系统与定常系统两大类. 定常系统又称为时不变系统,其特点是:系统的自身性质(所研究物体的本质属性例如:质量.转动惯量等)不随时间而变化.具体 ...
- 3_一起燃烧卡路里/科学减肥(1)_系统分析实例_数学建模部分_Matlab/Simulink
- 关于Css的垂直居中的一些方法
前两种方法称为大致居中,一般误差随高度的减小而减小,不过一般来说不怎么看得出来,除非你用javascript调用offsetTop来查看.不然没有强迫症的比较难看出来.但是兼容性很好,尤其是table ...