C++ 模板库, 具有:
- 更多基础功能,
- 新版本标准库移植至老版本,
- 还有更多的 constexpr!
必须有 Vcpkg 环境, 详见: Vcpkg
vcpkg install kerbal
- 克隆仓库
git clone https://github.com/WentsingNee/Kerbal.git
cd Kerbal
- 克隆 git 子模块仓库 (如果你需要的话)
git submodule init
git submodule update
- 通过 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` 子模块是否已存在决定的
- 安装
cd build
cmake --build . --target install
执行完毕后, Kerbal 就会被安装进 CMAKE_INSTALL_PREFIX
目录中
- 生成安装包 (如果你需要的话)
cd build
cpack .
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