苞米面 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 分割字符串

开源协议

MulanPSL-2.0

项目地址

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

苞米面 C++ 模板库 介绍的更多相关文章

  1. STL标准模板库介绍

    1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...

  2. C++ 标准模板库介绍(STL)

    1. STL 基本介绍 C++ STL(标准模板库)是惠普实验室开发的一系列软件的统称,是一套功能强大的 C++ 模板类.STL的目的是为了标准化组件,这样就不用重新开发,让后来者可以使用现成的组件, ...

  3. c++转载系列 std::vector模板库用法介绍

    来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...

  4. STL学习系列之一——标准模板库STL介绍

    库是一系列程序组件的集合,他们可以在不同的程序中重复使用.C++语言按照传统的习惯,提供了由各种各样的函数组成的库,用于完成诸如输入/输出.数学计算等功能. 1. STL介绍 标准模板库STL是当今每 ...

  5. C++_标准模板库STL概念介绍1-建立感性认知

    标准模板库的英文缩写是STL,即Standard Template Library. STL里面有什么呢? 它提供了一组表示容器.迭代器.函数对象和算法的模板. 容器是一个与数组类似的单元,可以存储若 ...

  6. C++ 标准模板库STL 队列 queue 使用方法与应用介绍

    C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...

  7. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  8. Handlebars模板库浅析

    Handlebars模板库简单介绍 Handlebars是JavaScript一个语义模板库,通过对view(模板)和data(ajax请求的数据,一般是json)的分离来快速构建Web模板.它采用& ...

  9. STL 简介,标准模板库

    这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL.  当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...

随机推荐

  1. K8S原来如此简单(六)Pod调度

    我们前面部署的pod调度取决于kube-scheduler,它会根据自己的算法,集群的状态来选择合适的node部署我们的pod. 下面我们来看下如何来根据我们自己的要求,来影响pod的调度. 定向no ...

  2. C# 将CSV转为Excel

    CSV(Comma Separated Values)文件是一种纯文本文件,包含用逗号分隔的数据,常用于将数据从一个应用程序导入或导出到另一个应用程序.通过将CSV文件转为EXCEL,可执行更多关于数 ...

  3. C语言对Mysql函数操作

    数据类型 MYSQL MYSQL结构代表一个数据库连接句柄,包含有关服务器的连接状态的信息,几乎所有函数都是用到它 typedef struct st_mysql { NET net; /* Comm ...

  4. 如何规划一台 Linux 主机,步骤是怎样?

    1.确定机器是做什么用的,比如是做 WEB .DB.还是游戏服务器.不同的用途,机器的配置会有所不同.    2.确定好之后,就要定系统需要怎么安装,默认安装哪些系统.分区怎么做.    3.需要优化 ...

  5. 为什么Java中 wait 方法需要在 synchronized 的方法中调用?

    另一个棘手的核心 Java 问题,wait 和 notify.它们是在有 synchronized 标记的方法或 synchronized 块中调用的,因为 wait 和 modify 需要监视对其上 ...

  6. 什么是SpringCloudConfig?

    在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持 ...

  7. 使用过 Redis 分布式锁么,它是什么回事?

    先拿 setnx 来争抢锁,抢到之后,再用 expire 给锁加一个过期时间防止锁忘记了 释放. 这时候对方会告诉你说你回答得不错,然后接着问如果在 setnx 之后执行 expire 之前进程意外  ...

  8. request表示HttpServletRequest对象?

    request表示HttpServletRequest对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法. response表示 ...

  9. memcached 的内存分配器是如何工作的?为什么不适用 malloc/free!?为何要使用 slabs?

    实际上,这是一个编译时选项.默认会使用内部的 slab 分配器.您确实确实应该 使用内建的 slab 分配器.最早的时候,memcached 只使用 malloc/free 来管理 内存.然而,这种方 ...

  10. springboot-数据访问之jdbc

    官网的starthttps://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter 111 ...