一个简单的C++工具库,现在已被放弃。
新版:https://github.com/Neutron12138/Neutron-Tool-Library
1.2.7
增加了Variant,可以储存基本类型和NTL类型,其余类型可以用void*
给BasicDeleter增加了void operator()(void *ptr) const
和void operator()(std::nullptr_t) const
完善了调试工具
增加了NTL_debug宏用于逐句调试,但是会极大地扩大程序(因为要展开一长串宏),不建议使用
强烈建议抛出异常时使用NTL_MAKE_STATEMENT_INFO宏,这样可以快速定位出错点,而不是NTL_debug
如果无法附加,再考虑NTL_debug
增加了文件读写
做了些修改并去除了烦人的explicit
ResourceDeleter不能用就是因为explicit :(
做了些修改。
完善异常信息。
ResourceDeleter出了些问题,无法作为std::shared_ptr的删除器,原因不明。
废除了序列化器和反序列化器,而是改用重载函数
但依然没有增加对字符串容器的特化
对位图类做了些修改
做了些改进
让数学库兼容GLM
增加了一些基于C++20的代码
做了些修改,增加了字符串枚举模板特化
增加了枚举类,可以继承
增加了矩阵与向量
这是一个很离谱的数学库,所有运算符重载都是纯粹的每个分量相操作,一点也不数学
点乘、叉乘、矩阵乘法等需要用到特定的函数
增加了信号
增加了侵入式反射
增加了序列化与反序列化
增加了图像加载与导出
增加了控制台程序(ConsoleApplication)
做了些简单的修改
增加了CaughtException
现在可以传递异常与异常发生的位置
把脚本部分拆分了出去
https://github.com/Neutron12138/Neutron-Script-Language
修改了Application,增加了两个run()的重载函数
Application::run(int,char**)负责处理main(int,char**)提供的参数,并转换为std::vectorstd::string,用作run(const std::vectorstd::string&)的参数
Application::run(const std::vectorstd::string&)负责真正地处理参数,处理参数只要重载此函数即可
Application::run()负责主程序运行
定义宏NEUTRONTL_CONFIG_USE_APPLICATION可以使用默认的main()函数,只要实现get_application()即可
增加了脚本的一些基础部分
之后的更新会围绕着这个新的脚本语言——Neutron Script Language
下一次应该会把基础类型部分做完(integer、floating、string、byte、boolean)