初始化内容

This commit is contained in:
2026-09-16 14:07:40 +08:00
parent 6934b390bf
commit 4f643c1e7c
18350 changed files with 6088489 additions and 305 deletions
+177
View File
@@ -0,0 +1,177 @@
/**
* @file DNDBrief.h
* @brief 说明
*
*
* @version 1.1
* @author lveyou
* @date 21-08-08
*/
/**
* @brief 为什么使用标准库?
* 为开源世界和C++标准做贡献,所以使用标准库。
*/
/**
* @brief 为什么不使用C++20模块
* 我尝试过模块,但编译期支持始终不完善,之好延后
*/
/**
* @brief 各系统的全局变量接口使用指针,以便控制生命周期,且不占用全局空间
*/
/**
* @brief 命名风格
* ?? 全局函数使用小写加下划线命名,例如 calc_n
* ?? 非泛用型的全局函数只开头小写,例如 createQuad
* 除了dl命令空间的全局函数都大写开头,例如Math::SetSeed
* 宏由于没有命令空间,所以必须dl开头防止冲突
* 不需要别处的资源的初始化叫init,而使用别处资源的初始化叫load
* 缩写只有首字母大写(命名空间除外)
* Add的含义是添加一个已有对象,而不是创建
* 除了dl命名空间,其他都首字母大小,例如dnd::Math,缩写除外比如dnd::UI
* 优先使用枚举类,如果只使用枚举,则使用Struct包含,枚举统一取名为Var(参见LogicType的实现)
* 冒号(:)作为特殊对象的命令,例如默认精灵、默认音效
* 对于多个元素,不使用单复数,而是加mul修饰。例如 _mulSpr,它可以是数组,也可以是链表。
* 加减乘除如下:Addition(add)、Subtraction(sub)、multiplication(mul)、division(div)
* 求和、求积:sum、??
* func为回调函数,fn为局部lambda函数
* small <-> large
*/
/**
* @brief 对象创建与释放
* 特殊物件通过g_factory创建
* 用户层面,一般情况不出现new关键字
* 资源名称:由于/不能作为文件名,故使用.替换/。
*/
/**
* @brief 关于绘制顺序
* 用order表示绘制遮挡顺序,越小则越靠近屏幕
* 对于UI来说,传入x,则所有子元素的order均大于等于x。
* 越先添加到Panel的Grouporder越大(详细参见Panel::SetOrder)。
*/
/**
* @brief 常用成员函数命名
* Refresh代表刷新、Set代表设置。前者含义带有不保存数据。
* Update为时间片逻辑、Render代表绘制、Run代表前二者合一(一般不使用Run)。
* Init代表初始化、Load代表加载、Create代表创建,一般用于静态函数创建对象。
* Reset代表重置、Delete代表删除、Clear代表清除、Release代表释放(Delete更表示不可逆的)、Click用于按钮按下)。
* Clone代表复制,Copy代表复制。前者为新建元素,后者为已有元素复制另外一个元素属性。
* GetBuffer返回byte流,GetData返回实际类型指针。
*
*/
/**
* @brief 越界时IsOutRange返回真,CheckRange返回假。
*/
/**
* @brief 类成员顺序
* 1.嵌套类
* 2.构造函数
* 3.操作符重载
* 4.主要函数
* 5.Set函数
* 5.Get函数
* 6.功能性函数
* 7.析构函数
* 8.私有成员
* 9.私有函数
*/
/**
* @brief 右值引用
* 右值引用一般用于移动语义,默认不使用移动语义,性能瓶颈再作优化,所以“const T&& a”没有实用意义。
*/
/**
* @brief 关于文件
* 优先使用fstream,由于大部分库都是用C语言的FILE文件句柄,故作兼容。
* 接口统一使用UTF-8编码,代码内容与代码文件皆使用utf8
*/
/**
* @brief C++标签
* deprecated 废弃接口
*/
/**
* @brief 应该优先使用以下基础类型
* int、unsigned、float
* 字节流使用std::byte
*/
/**
* @brief 复制dll命令
* xcopy / r / y $(SolutionDir)$(PlatformName)\$(Configuration)\DND3D.dll $(SolutionDir)bin\$(Configuration)
*/
/*
MS-DOS-style lines that end with (CR/LF) characters (optional for the last line)
Jiger: {使用回车换行(两个字符)作为行分隔符,最后一行数据可以没有这两个字符。}
An optional header record (there is no sure way to detect whether it is present, so care is required when importing).
Jiger:{标题行是否需要,要双方显示约定}.
Each record "should" contain the same number of comma-separated fields.
Jiger:{每行记录的字段数要相同,使用逗号分隔。} 逗号是默认使用的值,双方可以约定别的。
Any field may be quoted (with double quotes).
Jiger:{任何字段的值都可以使用双引号括起来}. 为简单期间,可以要求都使用双引号。
Fields containing a line-break, double-quote, and/or commas should be quoted. (If they are not, the file will likely be impossible to process correctly).
Jiger:{字段值中如果有换行符,双引号,逗号的,必须要使用双引号括起来。这是必须的。}
A (double) quote character in a field must be represented by two (double) quote characters.
Jiger:{如果值中有双引号,使用一对双引号来表示原来的一个双引号}
*/
/**
* @brief 基础定义与算法分类
* dl_type.h 类型定义、类型转换
* dl_algorithm.h 与类型无关的算法,操作容器的算法
* dl_math.h 数学相关、需要输出日志
*/
/**
* @brief 注释示例
*
* @detail 详细说明-------------------------------------aa
*
* @note 注释
* @attention 注意
* @warning 警告
* @exception 异常
* @remarks 备注说明
*
* @return 返回值
* @retval 返回值的说明
*
* @bug 有bug
* @todo 还没做完呢
* @see 参考一下
* @pre 前置条件
* @deprecated 过时了
*/
int this_is_doxygen_test() {}
/**
* @example 例子
*/
/*! \mainpage dl库
*
* \section intro_sec 介绍
*
* 基于C++20、vulkan的工具库。
* by略游 更新于2024-12-23
*
* 链接:https://gitee.com/lveyou/dl
*
* @image html framework.png "架构图"
*/