001-gul14

gul14库链接:gul14-cpp

文档链接:gul14-doc

库说明

C++14通用工具库(GUL14)包含了一系列常用工具函数和类型,这些构成了其他库和程序的基础。该库主要涵盖以下领域:

  • 字符串处理
  • 并发编程
  • 时间操作
  • 统计与数值计算
  • 调试支持
  • 容器
  • 类型特性
  • 核心准则支持库(GSL)摘录
  • 新标准库扩展的回移植功能

项目构建

项目使用meson构建,命令如下:

meson setup build-release --buildtype=release --prefix=C:/gul14 # 替换为自己的安装目录
meson compile -C build-release
meson install -C build-release

内容介绍 - deepseek

根据你之前提供的头文件清单和官方文档,GUL14库的功能模块可以归纳为以下几类。

下面我按功能领域为你整理了一份列表:

🔧 基础工具与语法增强

  • Finalizer (finalizer.h): 提供 FINAL_ACTION 宏,在作用域退出时自动执行清理代码,通常用于资源释放或操作回滚。
  • Expected (expected.h): 实现 expected<T, E> 类型,用于携带计算值或错误信息,是 C++23 提案的提前实现。
  • Optional (optional.h): 实现 optional<T> 类型,安全地表示一个值可能存在也可能不存在,是 C++17 标准的提前实现。
  • Span (span.h): 提供对连续内存序列的非拥有视图,是 C++20 标准的提前实现。
  • Trigger (Trigger.h): 实现一个简单的触发机制,允许在特定条件下执行预先注册的回调函数。
  • Type Name (type_name.h): 提供在运行时获取变量、类型的人类可读名称的功能,常用于日志、调试等。

📦 容器与数据结构

  • SmallVector (SmallVector.h): 一个优化的小型向量容器,在元素数量不超过预设阈值时使用栈上内存,避免堆分配。
  • SlidingBuffer (SlidingBuffer.h): 实现高效的环形缓冲区(circular buffer)。
  • Variant (variant.h): 提供类型安全的联合体(union),是 C++17 标准的提前实现。

🧵 并发与异步

  • ThreadPool (ThreadPool.h): 提供了一个简单易用的线程池实现。

📝 字符串处理

  • String Views (string_view.h): 提供 string_view 类,用于创建对字符串的非拥有、只读视图,是 C++17 标准的提前实现。
  • Case Conversion (case_ascii.h): 提供高效的 ASCII 字符串大小写转换函数。
  • Join/Split (join_split.h): 提供连接(join)和分割(split)字符串的实用工具。
  • Tokenize (tokenize.h): 提供将字符串按分隔符进行分词的功能。
  • Trim (trim.h): 提供去除字符串首尾空白字符的功能。
  • Replace (replace.h): 提供在字符串中查找并替换子串的功能。
  • Cat (cat.h): 提供 cat 函数,用于高效地将多个字符串或字符串视图拼接成一个。
  • Escape (escape.h): 提供字符串转义功能,例如将特殊字符转换为转义序列(如 \n\t),或将 JSON 字符串进行编码。

🔢 数值与数学运算

  • Numeric Utilities (num_util.h): 提供 abs(绝对值)等基础数值运算函数。
  • Bit Manipulation (bit_manip.h): 提供位操作与测试功能。
  • GCD/LCM (gcd_lcm.h): 提供计算最大公约数和最小公倍数的函数。
  • To Number (to_number.h): 提供将字符串安全地转换为各种数字类型的功能,能优雅地处理转换错误。

📊 统计与算法

  • Statistics (statistics.h): 提供统计学计算功能,例如计算平均值、标准差等。

🗓️ 时间与日期

  • Time Utilities (time_util.h): 提供时间相关工具函数。
  • Date (date.h): 提供日期处理功能。

🐞 调试与日志

  • Hexdump (hexdump.h): 提供内存数据的十六进制转储功能。
  • Catch (catch.h): 可能集成或方便使用 Catch2 测试框架进行单元测试。
  • Internal (internal.h): 可能包含一些库内部使用的调试辅助宏或函数。

🛠️ 其他实用功能

  • GUL (gul.h): 这很可能是库的核心头文件或一个总括头文件,包含了最常用的功能。
  • Traits (traits.h): 提供自定义的类型特征(traits),用于在编译时获取或修改类型信息。

这个列表基于include/gul14目录下头文件的命名和官方文档的功能描述。

GUL14的所有功能都位于gul14命名空间下,使用时需要包含相应的头文件。