fix: fix issues.
- add chars format argument for floating point overload of ParserHelper::TryParse. - add overload for ParserHelper::Parse to match with ParserHelper::TryParse. - fix the issue that we can not specify c++ standard in command line when configuring project. - update documentation for changes. - change following function's argument from const yycc_char8_t* to const yycc_u8string_view&. - StringHelper::Split, StringHelper::SplitView - StringHelper::Lower, StringHelper::Upper - StringHelper::Join - StringHelper::Replace - use iterator type, not std::vector<yycc_u8string> for specialized StringHelper::Join to have more wide usage.
This commit is contained in:
@@ -15,7 +15,7 @@ Functions located in this helper support the convertion between string and follo
|
||||
|
||||
Please note in C++, \c bool is integral type but we list it individually because parser will treat it specially.
|
||||
For \c bool type, parser will try doing convertion between it and \c "true" \c "false" string.
|
||||
(\b case-sensitive. It means that \c true will only be converted to \c "true" and \c "TRUE" can not be recognised.)
|
||||
(\b case-insensitive. It means that \c true can be converted from \c "true", \c "True" or \c "TRUE".)
|
||||
|
||||
\section parser_helper__try_parse Try Parse
|
||||
|
||||
@@ -31,6 +31,7 @@ YYCC::ParserHelper::TryParse<uint32_t>(YYCC_U8("123"), val);
|
||||
YYCC::ParserHelper::TryParse<uint32_t>(YYCC_U8("7fff"), val, 16);
|
||||
\endcode
|
||||
|
||||
For floating point type, this function allows caller to specify extra argument providing the format of given number string (\c std::chars_format).
|
||||
For integral type, this function allows caller to specify extra argument providing the base of given number string.
|
||||
|
||||
\section parser_helper__parse Parse
|
||||
@@ -45,8 +46,8 @@ There is an example:
|
||||
uint32_t val = YYCC::ParserHelper::Parse<uint32_t>(YYCC_U8("123"));
|
||||
\endcode
|
||||
|
||||
Please note, for integral types, there is no base argument in #Parse.
|
||||
Please use #TryParse instead.
|
||||
For integral and floating point value,
|
||||
it has same extra argument with #TryParse to provide more number infomation.
|
||||
|
||||
Using this function is dangerous if the validation of your input is important.
|
||||
In this case, please use #TryParse instead.
|
||||
@@ -63,6 +64,11 @@ There is an example:
|
||||
auto result = YYCC::ParserHelper::ToString<uint32_t>(UINT32_C(114));
|
||||
\endcode
|
||||
|
||||
For floating point type, this function allows caller to specify extra arguments
|
||||
which provides the format (\c std::chars_format) and precision when getting string representation.
|
||||
For integral type, this function allows caller to specify extra argument
|
||||
providing the base of number when getting string representation.
|
||||
|
||||
\section parser_helper__notes Notes
|
||||
|
||||
All functions within this helper are implementated by standard library functions.
|
||||
|
||||
Reference in New Issue
Block a user