Commit Graph

91 Commits

Author SHA1 Message Date
6da990876e feat: add smart FILE pointer.
- use std::unique_ptr and custom deleter to implement smart FILE pointer for convenient auto free.
2024-08-02 09:50:15 +08:00
0ac6b477f9 fix: fix fatal error of ExceptionHelper in x86 environemnt.
- fix a wrong placeholder of printf in ExceptionHelper which cause crash in unhandled exception handler.
- improve format function in ExceptionHelper.
- add a new debugging option and macro in CMake script and code for the convenience of debugging unhandled exception handler.
- add docuementation about previous term.
2024-07-31 20:32:11 +08:00
1cfbcb3b18 doc: update documentation
- use namespace bracket all content in documentation to reduce useless namespace prefix.
- change the argument type of AbstractSetting and CoreManager to yycc_u8string_view instead of const yycc_char8_t*.
- throw exception if given setting name is invalid in ConfigManager, instead of slient fallback.
2024-07-31 14:14:38 +08:00
598aae69ae doc: update documentation 2024-07-31 12:08:30 +08:00
656495f22e doc: update documentation 2024-07-30 22:13:59 +08:00
e167479de3 doc: add documentation for new added features 2024-07-30 17:31:38 +08:00
19023cb949 doc: add callback documentation in ExceptionHelper.
- add callback documentation in ExceptionHelper.
- fix other misc documentation issue.
2024-07-30 10:35:41 +08:00
650fcd12ec feat: add callback for unhandled exception handler.
- add callback for unhandled exception handler to give programmer a chance to fetch log and coredump path, especially for GUI application because its stderr is invisible.
- fix fatal anto-recursive calling bug in unhandled exception handler.
2024-07-29 21:42:27 +08:00
e8a0299fbc feat: finish ArgParser help text output 2024-07-29 19:31:17 +08:00
d1c1743dc9 feat: basically finish ArgParser
- finish ArgParser and test it.
- Help output function will be added in next commit.
2024-07-29 16:58:52 +08:00
35318505e4 feat: add arg parser feature but not finished 2024-07-28 22:42:16 +08:00
f997990af6 doc: finish all documentations 2024-07-26 15:08:12 +08:00
7f373ed354 doc: update documentation in code 2024-07-25 18:15:39 +08:00
31a7cb5675 doc: update documentation in code 2024-07-25 11:22:50 +08:00
87fa30fe82 doc: update documentation in code 2024-07-24 15:03:31 +08:00
ecb06504bc doc: add documentation about how to build YYCC 2024-07-23 10:39:12 +08:00
805ffe70d6 fix: fix linux build issue
- fix linux build bug
- add linux build script
- order linux shell file eol be LF.
2024-07-22 22:41:10 +08:00
052fa7f4d1 chore: update build script.
- update CMake build script to make install statement is more legal.
- add Windows-only build script for creating CMake used package and MSVC used package on Windows.
- documentation will be added in the next commit.
2024-07-22 13:56:00 +08:00
9e5bd370c4 doc: add documentation for ConfigManager 2024-07-18 09:28:10 +08:00
94386c93aa doc: finish documentation of StringHelper 2024-07-17 14:18:54 +08:00
b13bb445e4 doc: add documentation for ConsoleHelper 2024-07-16 10:41:09 +08:00
81fe72c425 chore: add Natvis in MSVC CMake build.
- add Natvis in MSVC CMake build to let me can see the data encoded with YYCC::yycc_char8_t.
2024-07-15 22:47:49 +08:00
b912be082c doc: add documentation for COMHelper 2024-07-15 13:47:14 +08:00
9f47d0fe24 doc: update documentation for ParserHelper 2024-07-14 11:19:37 +08:00
cc689ce8bb doc: update README
- add MIT license
- update README. remove WIP mark.
- move some content from README to documentation.
2024-07-13 22:50:37 +08:00
1ccea1290e doc: add documentation for win fct helper
- add documentation for win fct helper
- add new macro YYCC_U8_CHAR for casting ordinary char to yycc utf8 char.
- add documentation for new added YYCC_U8_CHAR.
2024-07-13 12:58:49 +08:00
ed549592dd doc: update documentation for FsPathPatch 2024-07-12 09:44:56 +08:00
1c2007928d doc: update documentation for IO helper.
- update IO helper ducumentation.
- fix a latent Linux compile error in IO helper.
2024-07-11 09:59:50 +08:00
a6c543c1b5 doc: finish dialog helper documentation 2024-07-10 09:24:39 +08:00
942e4ff8eb feat: add convertion functions between utf8 and code page string 2024-07-09 21:02:26 +08:00
9a18233723 doc: update document for exception helper 2024-07-08 10:44:09 +08:00
11b2185bb4 chore: update documentation build script 2024-07-08 08:54:49 +08:00
d27a66e770 fix: fix ConfigManager::StringSetting issues
- use yycc_u8string_view in default value and Set function instead of const yycc_char8_t*
- fix value check error in Set function.
2024-07-07 21:33:42 +08:00
4f1e2447d0 fix: make exception handler be singleton in same process.
- use CreateMutexW to make sure exception handler is singleton in the same process.
	- Because one process may load multiple DLLs using YYCC.
	- According to this, it will produce N times error log. N is the count of DLLs using YYCC exception handler.
- refactor exception handler. use a class instance to manage all global variables and add a std::mutex to let module be thread safe.
- change the way of check in console input testbench.
2024-07-07 17:29:26 +08:00
3075ec583d fix: in config manager throw exception when facing duplicated setting name instead of slient skip 2024-07-07 16:08:42 +08:00
2e28dd4c48 chore: update build script.
- update build script to split documentation generation.
- bump up version from 1.0.0 to 1.1.0
2024-07-06 15:28:30 +08:00
a1699f13db doc: update documentation
- rename Constrain to Constraint in code and documentation.
- remove massive annotation of encoding helper because the documentation is enough.
- fix doxygen character shift warnings.
2024-07-05 22:25:14 +08:00
65b81f5cfa refactor: rename Native String to Ordinary String.
- rename Native to Ordinary in code and documentation.
- fulfill some documentations.
2024-07-05 10:36:24 +08:00
1c5a85bbb2 doc: update documentation.
- add documentation for platform checker.
- finish documentation of encoding helper.
2024-07-05 09:18:31 +08:00
1f04e23092 doc: update documentation for encoding helper 2024-07-04 20:26:59 +08:00
06e75924f1 doc: update documentation for dialog helper 2024-07-03 21:26:27 +08:00
e374575852 fix: fix issue in config manager.
- fix fwrite fread issue in config manager.
- add testbench for config manager.
- change testbench order to get better experience.
2024-07-03 10:14:17 +08:00
e2a582e7d2 dox: add WinImport pair documentation 2024-07-02 16:31:28 +08:00
588946583c feat: add universal config manager implementation. 2024-07-02 10:52:24 +08:00
e1823d4b8e feat: add new split function reducing memory cost.
- add a new split function, SplitView which can reduce cost memory by using string view.
- add a new testbench for split function for testing empty source string.
- add documentation for some string helper function.
- improve library encoding documentation.
2024-06-29 17:39:13 +08:00
23b4da95ce fix: fix bug caused by refactor 2024-06-28 16:30:21 +08:00
e5b6e8c6c3 refactor: refactor testbench for UTF8 string. fix refactor bug 2024-06-28 16:24:27 +08:00
ccb729c718 refactor: update all modules for UTF8 string. waiting for debugging 2024-06-28 15:46:58 +08:00
44dbbb1c99 refactor: refactor string helper for UTF8 string 2024-06-28 14:44:39 +08:00
91ba0c22d6 doc: update documentation 2024-06-28 11:38:19 +08:00