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

開源協議

MulanPSL-2.0

項目地址

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章