MtFmt 1.0.0
MtFmt is a format library on embed. system and wrote by pure C.
载入中...
搜索中...
未找到
mm_result.h
浏览该文件的文档.
1// SPDX-License-Identifier: LGPL-3.0
12#if !defined(_INCLUDE_MM_RESULT_H_)
13#define _INCLUDE_MM_RESULT_H_ 1
14
19typedef enum tagMStrResult
20{
22 // ERR: 内存错误: 内存分配失败
24 // ERR: 未实现
26 // ERR: 编码错误
28 // ERR: 源字符串不完整
30 // ERR: 越界
32 // ERR: 模式串匹配失败
34 // ERR: 越界(迭代器)
36 // ERR: buff太短
38 // ERR: 格式化: 索引太多
40 // ERR: 格式化: Parser错误: 未识别的token
42 // ERR: 格式化: Parser错误: Missing `{`
44 // ERR: 格式化: Parser错误: Missing `}`
46 // ERR: 格式化: Parser错误: Missing Formatter
48 // ERR: 格式化: Parser错误: Missing ArgID
50 // ERR: 格式化: Parser错误: Missing ArgType
52 // ERR: 格式化: Parser错误: 不支持的fill char
54 // ERR: 格式化: Parser错误: fill char后面必须要align
56 // ERR: 格式化: Parser错误: 不支持的格式化方式
58 // ERR: 格式化: Parser错误: 请求宽度太大
60 // ERR: 格式化: Parser错误: 请求的格式化项太多(日期时间)
62 // ERR: 格式化: Parser错误: 错失格式化的token(日期时间)
64 // ERR: 格式化: Parser错误: 未指定
66 // ERR: 格式化: 还未使用过的参数ID
68 // ERR: 格式化: 参数太大
70 // ERR: 格式化: 类型不正确
72 // ERR: 格式化: 内建buffer不够大
74 // ERR: 格式化: 不支持的类型
76 // ERR: 格式化: 不支持的量化精度
78 // ERR: 最后一个的flag
81
82// 判断操作是否成功
83#define MSTR_SUCC(s) ((s) == MStr_Ok)
84
85// 判断操作是否失败
86#define MSTR_FAILED(s) ((s) != MStr_Ok)
87
88// AND_THEN
89#define MSTR_AND_THEN(res, then) \
90 do { \
91 mstr_result_t r = (res); \
92 if (MSTR_SUCC(r)) { \
93 r = (then); \
94 } \
95 (res) = r; \
96 } while (0)
97
98#endif // _INCLUDE_MM_RESULT_H_
enum tagMStrResult mstr_result_t
结果类型
tagMStrResult
结果类型
Definition mm_result.h:20
@ MStr_Err_BufferTooSmall
Definition mm_result.h:37
@ MStr_Err_MissingAlignAfterFillChar
Definition mm_result.h:55
@ MStr_Err_MissingArgumentID
Definition mm_result.h:49
@ MStr_Err_UnsupportFormatType
Definition mm_result.h:57
@ MStr_Err_UnsupportQuantBits
Definition mm_result.h:77
@ MStr_Err_MissingArgumentType
Definition mm_result.h:51
@ MStr_Err_UnsupportType
Definition mm_result.h:75
@ MStr_Err_UndefinedParserError
Definition mm_result.h:65
@ MStr_Err_IndexTooLarge
Definition mm_result.h:39
@ MStr_Err_MissingReplacement
Definition mm_result.h:47
@ MStr_Err_HeapTooSmall
Definition mm_result.h:23
@ MStr_Err_WidthTooLarge
Definition mm_result.h:59
@ MStr_Err_UnicodeEncodingError
Definition mm_result.h:27
@ MStr_Err_IteratorOutOfBound
Definition mm_result.h:35
@ MStr_Err_EncodingNotCompleted
Definition mm_result.h:29
@ MStr_Err_InternalBufferTooSmall
Definition mm_result.h:73
@ MStr_Err_UnrecognizedToken
Definition mm_result.h:41
@ MStr_Err_Flag_LastOne
Definition mm_result.h:79
@ MStr_Err_InvaildArgumentType
Definition mm_result.h:71
@ MStr_Ok
Definition mm_result.h:21
@ MStr_Err_UnsupportFillChar
Definition mm_result.h:53
@ MStr_Err_NoImplemention
Definition mm_result.h:25
@ MStr_Err_IndexOutOfBound
Definition mm_result.h:31
@ MStr_Err_InvaildArgumentID
Definition mm_result.h:69
@ MStr_Err_UnusedArgumentID
Definition mm_result.h:67
@ MStr_Err_MissingLeftBrace
Definition mm_result.h:43
@ MStr_Err_MissingRightBrace
Definition mm_result.h:45
@ MStr_Err_MissingChronoItemType
Definition mm_result.h:63
@ MStr_Err_NoSubstrFound
Definition mm_result.h:33
@ MStr_Err_TooMoreChronoItem
Definition mm_result.h:61