Skip to content

Latest commit

 

History

History
146 lines (102 loc) · 7.07 KB

readme.zh.md

File metadata and controls

146 lines (102 loc) · 7.07 KB

Kerbal

language English |

Static Badge Codacy grade Vcpkg Version License

GitHub code size in bytes GitHub test code size in bytes

GitHub last commit GitHub commit activity GitHub commit activity GitHub commit activity

C++ 模板库, 具有:

  1. 更多基础功能,
  2. 新版本标准库移植至老版本,
  3. 还有更多的 constexpr!

安装说明

I) 通过 Vcpkg 安装

必须有 Vcpkg 环境, 详见: Vcpkg

vcpkg install kerbal

II) 通过源码安装

  1. 克隆仓库
git clone https://github.com/WentsingNee/Kerbal.git
cd Kerbal
  1. 克隆 git 子模块仓库 (如果你需要的话)
git submodule init
git submodule update
  1. 通过 CMake 配置
mkdir build
cmake -S . -B build/ \
    -DCMAKE_BUILD_TYPE=Release

    # 以下参数是可选的

    # 安装 Kerbal 的目录前缀
    -DCMAKE_INSTALL_PREFIX=`你想要的目录前缀`
    # 默认会被设置为你的系统目录

    # cpack 阶段要启用的包生成器
    -DCPACK_GENERATOR=`你想要的包生成器`
    # 默认设为: "DEB;STGZ;TGZ;ZIP"

    # 是否要安装 pretty printer 文件
    # git `pretty_printer` 子模块必须已存在
    -DKERBAL_INSTALL_PRETTY_PRINTER=True # 或者是 False
    # 默认值是根据 git `pretty_printer` 子模块是否已存在决定的
  1. 安装
cd build
cmake --build . --target install

执行完毕后, Kerbal 就会被安装进 CMAKE_INSTALL_PREFIX 目录中

  1. 生成安装包 (如果你需要的话)
cd build
cpack .

将 Kerbal 集成进你的 CMake 项目

find_package(Kerbal REQUIRED)
target_link_libraries(
        your-target PRIVATE
        Kerbal::kerbal
        [Kerbal::kerbal-omp] # 当你使用到 Kerbal::omp 模块时, 这行可能是需要的
)

子库

简介
algorithm 算法
any std::any 相像但是支持 C++98 和 C++20 constexpr
assign 在 C++98 中像 C++11 中的 std::initializer_list一样初始化容器
autonm 自治容器, 与侵入式容器一样支持灵活的分配/解分配,但是对类型没有侵入性
bitset static_bitset (与 std::bitset 但是有更多功能和 constexpr 支持)
compare 比较器和序列比较
compatibility 为兼容性提供的宏
config 架构, 编译器, 系统平台, 标准库环境检测
container array, vector, static_vector, list, forward_list, priority_queue
function function, function_traits, invoke, invoke_r
hash 哈希支持
iterator 迭代器支持
macro 宏设施
memory 内存管理支持, 如 allocator, 未初始化算法
numeric 数值算法
ompalgo openMP 加速的算法
openmp openMP 设施和环境检测
operators 使用 CRTP 简化运算符重载
optional std::optional 相像但是支持 C++98
random 随机数生成器和分布
test 单元测试
tmp 模板元编程设施
type_traits 与 C++11 <type_traits> 相像, 但是部分支持 C++98
utility compressed_pair, tuple

文档

  • Doxygen 自动生成文档: 点击 此处 查看

鸣谢

ThinkSpirit Laboratory of Nanjing University of Information Science and Technology