这是一个个人 C++ 库,其中某些功能仅在 Windows 上可用
- 文本用户界面(TUI)
- 容器类
- IO & 文件操作
- Ansi 转义
- 一些算法
- 数学支持
- 颜色计算
- (Windows) Web 套接字(socket)
- (Windows) 控制台扩展
- 还有更多...
克隆仓库并 include 头文件即可
git clone https://github.com/PCwqyy/PCLib.git
git clone https://gitee.com/pcwqyy/PClib.git示例:
#include"/path/to/PCLib/TUI/TUI.hpp"详见此处
作者英语水平有限,如果发现拼错等还请多多包涵
邮箱: w123567910@outlook.com
博客:www.cnblogs.com/PCwqyy
该项目使用 MIT License 。
欢迎任何形式贡献!您可以通过以下方法参与:
- 提交 issues 以报告错误或提议新功能
- 提交 pull request 以修复问题
- 改进文档
- TUI 库的 DOM 结构(这并不是一个小改动)
- 自动同步数据容器
SyncedData
- 写了一些注释文档
- 优化了
Large,但是暂时变成 unsigned 的了……
- 重新添加了
Large的符号
- 添加了
pc::Exception类,用于管理异常 - 完善了
Large的异常处理
- 注释和拼写
- 开始写 DOM 树
- 开始写 PCML 解析器
- 考虑把 TUI 改名为 钼 Molybdenum?
- 元素 PCML 解析器完成,尚未调试
Element::QuerySelectorAll()的标签、类、ID选择器完成,后代选择器完成,差一个子元素选择器- 修复了
pc::File::String()总会多一个\377的问题
- 修复了
PCML::Make()的严重逻辑错误 - 完成了
Element::QuerySelectorAll()
- 添加了新的容器:
SyncedData<Tp>,用于创建一个实时相互同步的数据组,即修改一个值时,组内的其他变量会同步修改
- 将
SyncedData改为双端树,现在可以安全地析构了
- 为
SyncedData添加了拷贝函数,现在可以安全地拷贝了 - 将
Element::ID、Element::ClassList改为Element::Attribute的映射而不是独立的变量,以匹配 Web DOM 的行为 - 将
Element::QuerySelectorAll的返回类型改为指针指向原元素,以模仿 Web DOM 的行为
- 回滚
Command.hpp至 25v4a - 改动 Cmd Fight 使其又可以编译
优化了重写了PCML.hpp- 修复了
Element.hpp的内存泄漏
- 添加部分注释
- 优化
Element.hpp - 新增部分功能
- 添加部分注释
- 新增部分功能
新 Demo: PCML
演示如何使用 PCML 及 Element.hpp 中的类DOM操作
- 新增部分功能
新 Demo: Clock
演示如何使用 Ansi.hpp
- 分离
Unicode.hpp - 优化
Buffer.hpp
- 小修小补
新 Demo: Large
演示如何使用 Large 类