yyc12345
e4387439ee
feat: add all binstore headers and sources file
2025-12-10 19:55:13 +08:00
yyc12345
a6668dff04
feat: add SerDes concept for binstore
2025-12-10 17:02:52 +08:00
yyc12345
e8241e21b9
fix: update clap validator concept and used functions
2025-12-10 10:17:36 +08:00
yyc12345
45cbdc1a2a
fix: fix gcc build issue
2025-12-09 23:14:49 +08:00
yyc12345
c6d080ad82
fix: fix clap parser resolver build issue
2025-12-09 23:11:06 +08:00
yyc12345
a1d19cf09c
feat: finish clap parser and resolver
2025-12-09 22:55:21 +08:00
yyc12345
d6662dbb53
feat: basically finish clap parser
...
- basically finish clap parser except ctor.
- add skeleton for clap resolver.
2025-12-09 20:52:41 +08:00
yyc12345
eb9e576d33
feat: finish clap parser basic layout
2025-12-08 15:16:28 +08:00
yyc12345
8b7ab2c870
feat: add lost functions for env namespace.
...
- add some lost functions for env namespace according to Rust std library. hiwever some functions are not implemented.
- change some function's signatures located in env namespace.
- reduce some useless error kine in env namespace.
2025-12-07 21:47:54 +08:00
yyc12345
f76eabee7a
feat: add validator concept for clap
2025-12-06 21:29:51 +08:00
yyc12345
ab8489c377
doc: add doc for moved files
2025-10-07 18:49:02 +08:00
yyc12345
c48e79753d
refactor: cancel the namespace Rust.
...
- all sub-functions are put into respective position.
2025-10-07 18:15:17 +08:00
yyc12345
eda801d3c7
refactor: move env outside from rust namespace
2025-10-07 18:03:40 +08:00
yyc12345
64045b1d48
doc: update license date
2025-10-03 22:52:31 +08:00
yyc12345
8e0865384d
fix: do misc work
...
- add macos compile note in compile manual.
- add DoNotOptimize in benchmark.
2025-10-03 22:47:30 +08:00
yyc12345
c6c450f6fa
feat: move my homemade fft module into this project.
...
- move homemade fft module into this project.
- also migrate test and benchmark.
2025-10-03 21:01:37 +08:00
yyc12345
3dd0c85995
feat: finish clap manual namespace
2025-10-02 18:19:11 +08:00
yyc12345
5859264eca
feat: add current_exe in rust env
2025-10-02 18:06:24 +08:00
yyc12345
d69563b5df
feat: finish clap manual table filler
...
- finish clap manual table fill functions.
- fix iterator object for the requirements of std::ranges::end().
2025-10-02 16:57:15 +08:00
yyc12345
446f880df4
feat: add trim in string op opposited with strip
2025-10-01 20:53:43 +08:00
yyc12345
05a80268ab
chore: update build manual and script.
2025-09-29 22:43:28 +08:00
yyc12345
19d0a5bb4d
feat: add benchmark for string strip
2025-09-29 21:20:44 +08:00
yyc12345
e7a05b3488
refactor: rename testbench to test.
...
- rename testbench to test.
- add benchmark for future development.
2025-09-29 13:34:02 +08:00
yyc12345
82c3ed5b32
fix: fix compile error in gcc.
...
- remove __attribute__(format) checker for UTF8 char type printf becuase it forcely require the type of format string is const char*, rather than const char8_t*, and I can not use any switches to remove this.
- delete useless macro and header in clap manual.
2025-09-28 22:38:09 +08:00
yyc12345
d6be8a11ac
fix: use more clear format spec in format test.
...
- this is designed to avoid different behavior between msvc and gcc.
- gcc output char in default.
- msvc output it as integer in default.
2025-09-28 22:31:08 +08:00
yyc12345
31c624797f
revert: revert the delete of std::stacktrace in rust panic.
...
- i revert previous changes because currently code have not been compiled in clang.
2025-09-28 22:02:54 +08:00
yyc12345
6ecf6935d8
fix: use new format to replace all printf as much as possible.
...
- ironpad is a very conservative module so I don't want to bring any changes for it except bug fix.
2025-09-28 21:57:18 +08:00
yyc12345
d6b1d7fd46
fix: redirect all std::format to my personal format
2025-09-28 21:44:44 +08:00
yyc12345
8d7eff2a15
fix: fix all old usage of UTF8 in std::ostream.
...
- use patch stream instead of all old use of UTF8 in std::ostream (reinterpret way).
2025-09-28 21:37:05 +08:00
yyc12345
bd5032cee7
feat: change join data provider.
...
- use Rust iterator style for join data provider for better understanding.
2025-09-28 17:01:48 +08:00
yyc12345
cc1ce5bb04
feat: finish string strip (maybe)
...
- add Trie Tree for string strip op.
- finish string strip but it may still buggy (though i have tested it)
2025-09-28 16:41:40 +08:00
yyc12345
190beeed58
feat: add code point splittor for utf8 string.
...
- this feature is added for strip function in string op.
2025-09-26 21:43:12 +08:00
yyc12345
99146ddd55
feat: add lazy split in string op namespace.
2025-09-26 14:43:13 +08:00
yyc12345
ce3d5b9556
feat: finish basic of manual in clap
2025-09-25 15:52:28 +08:00
yyc12345
c8d763bdcf
feat: add utf8 format
...
- move utf8 stream and format patch from string to patch namespace.
- add ordinay format alias and utf8 format in our format patch.
- add char8_t and char inter-cast in string reinterpret namespace.
- fix bug of utf8 formatter.
- add test for utf8 format.
2025-09-25 15:29:55 +08:00
yyc12345
a61955bb09
feat: finish summary and application for clap.
...
- finish summary and application for clap.
- add patch for utf8 string in std::format.
2025-09-24 16:20:21 +08:00
yyc12345
776adb0c96
feat: finish option and variable in clap
2025-09-23 16:13:52 +08:00
yyc12345
c85830902b
fix: change the behavior of printf in string op.
...
- add compiler hint for checking the arguments of printf.
- change the return value of printf. from std::expected to normal value. use C++ exception to indicate error.
* the error of printf usually caused by programmer. so it can be found when testing program.
* so i use std::logic_error to indicate this and programmer should fix this before releasing program.
- change the use of encoding convertion. for those cases that convertion must be safe, we unwrap it directly.
2025-09-22 22:21:25 +08:00
yyc12345
45e4031b5c
refactor: finish ironpad migration
...
- finish ironpad migration but no test because it is not easy to test.
2025-09-18 16:04:41 +08:00
yyc12345
ccd0219ead
refactor: migrate console helper.
...
- migrate csharp style console helper.
- i just do a simple migration and mark it as deprecated. it should works like 1.x version.
2025-08-22 23:28:17 +08:00
yyc12345
4bfba6f243
feat: add windows-spec console patch
2025-08-22 21:51:32 +08:00
yyc12345
9e994dd4f0
refactor: bring utf8 patch for std::ostream back.
2025-08-22 21:28:29 +08:00
yyc12345
d6034f8cb0
fix: fix minor issue of testbench
...
- fix testbench minor issue.
- delete migrated source code files.
2025-08-22 21:09:57 +08:00
yyc12345
0694d923f3
test: finish testbench for tabulate
2025-08-21 14:32:51 +08:00
yyc12345
580b096cb3
fix: fix bug for windows dialog
2025-08-21 11:00:33 +08:00
yyc12345
f9365481b9
fix: fix all build issue of dialog namespace but not test.
2025-08-21 10:26:28 +08:00
yyc12345
15aade052f
refactor: expand ugly statement from while statement header to body.
2025-08-20 19:32:44 +08:00
yyc12345
050bed400d
doc: update doc
2025-08-20 14:29:41 +08:00
yyc12345
244e39c4d1
revert: remove stacktrace feature for rust panic.
...
- remove stacktrace feature for rust panic function due to not all STL are ready for this.
- add more os type in CMake file.
- add lost header in fopen.
2025-08-19 21:47:21 +08:00
yyc12345
d52630ac5c
feat: add tabulate but no test.
2025-08-19 20:53:51 +08:00
yyc12345
a76f10722d
fix: fix todos waiting termcolor.
2025-08-19 13:58:05 +08:00
yyc12345
8a72e6a655
feat: add termcolor in carton.
...
- add termcolor and its testbench
- add integer() in flag_enum and update its testbench according to the requirements in termcolor.
2025-08-19 13:50:51 +08:00
yyc12345
dfc0c127c5
test: add testbench for macro namespace
2025-08-15 16:55:39 +08:00
yyc12345
2f11ba6023
feat: add new package wcwidth
...
- add wcwidth in carton.
- order clang-format do not format some generated content.
2025-08-15 16:42:28 +08:00
yyc12345
00c8f09907
doc: start to refactor doc
2025-08-14 21:33:17 +08:00
yyc12345
734cd01da8
feat: add Rust env namespace
2025-08-14 20:17:02 +08:00
yyc12345
bdeaea294f
refactor: migrate windows specific content.
...
- move com, dialog and winfct function into new place.
- add testbench for com and winfct.
- dialog now still not working.
2025-08-13 15:29:47 +08:00
yyc12345
ff8c7d04cc
fix: fix utf convertion issue under MSVC
2025-08-13 10:49:35 +08:00
yyc12345
0ab470367c
fix: fix safe num overflow ops issue under MSVC
2025-08-13 09:51:40 +08:00
yyc12345
c4d441f5fa
fix: fix pycodec MSVC error
2025-08-13 09:36:21 +08:00
yyc12345
f8a696b4e8
fix: fix MSVC __VA_OPT__ error
2025-08-13 09:24:19 +08:00
yyc12345
f65eff6edf
fix: replace find with contains in constraint builder
...
- remove useless old files.
2025-08-13 08:56:09 +08:00
yyc12345
8fcfa180b4
fix: fix unfinished u8 fopen.
...
- finish unfinished utf8 version fopen.
- add testbench for it.
2025-08-13 08:49:18 +08:00
yyc12345
e23a1346eb
test: add testbench for pycodec
2025-08-12 19:47:24 +08:00
yyc12345
2576523dbb
fix: use new way to manage iconv token.
...
- use new way to manage iconv token, instead of std::unique_ptr which cause template error (no viable sizeof) in pycodec.
- fix the wrong name in pycodec.
- remove useless code.
2025-08-12 19:40:23 +08:00
yyc12345
9ce52e8d4b
feat: finish pycodec but has compile issue
2025-08-12 17:34:03 +08:00
yyc12345
7785773196
refactor: use new layout for YYCC
2025-08-12 16:32:59 +08:00
yyc12345
cfbc3c68e0
doc: add Doxygen comment
2025-08-12 16:15:00 +08:00
yyc12345
8dbe32cb8e
fix: fix fatal error in encoding/iconv.
...
- fix the size of input data error (forget mul with the size of unit)
- fix the wrong code name for UTF16 and UTF32.
- fix wrong assign for `outbytesleft`.
2025-08-12 16:05:11 +08:00
yyc12345
664763afbb
test: add testbench for stl, windows and iconv encoding
2025-08-12 13:05:35 +08:00
yyc12345
a34bab07c1
refactor: rename encoding/stlcvt to encoding/stl
2025-08-12 09:45:44 +08:00
yyc12345
51d288ac4b
test: add testbench for num/safe_cast
2025-08-11 22:19:02 +08:00
yyc12345
20a9ef4166
fix: fix comment for new added files.
...
- translate zh-CN comment into en-US.
- change some comment into Doxygen style.
- add lost Doxygen comment.
- enrich the testbench for ceil_div.
- add lost metaprogramming functions for some files in macro namespace.
2025-08-11 21:57:42 +08:00
yyc12345
17540072d3
fix: change the find order in PyCodec.
...
- now PyCodec will try to use Iconv first.
- re-claim the meaning of YYCC_FEAT_ICONV macro.
2025-08-05 14:04:20 +08:00
yyc12345
fcac886f07
refactor: migrate rust-like ops.
...
- migrate rust-like ops.
- migrate testbench for them but not finished.
2025-08-05 13:53:59 +08:00
yyc12345
27baf2a080
refactor: refactor old IOHelper.
...
- move pointer left padding macro into single header file.
- move utf8 fopen into single header but not finished.
- add testbench for pointer left padding macro.
- add system pointer size detector according to new migrated features requested.
2025-08-05 10:54:15 +08:00
yyc12345
b9f81c16a0
refactor: refactor enum helper as flag enum.
...
- refactor enum helper.
- add testbench for it.
2025-08-04 22:31:37 +08:00
yyc12345
54134b342e
test: add testbench for macro/versiom_cmp
2025-08-04 21:15:49 +08:00
yyc12345
ce2b411b0b
refactor: continue refactor to make the project can be built
2025-07-31 22:25:14 +08:00
yyc12345
5372af79f8
refactor: finish iconv refactor
2025-07-25 11:06:22 +08:00
yyc12345
b79df0c65e
refactor: continue refactor project from C++17 to 23
2025-07-25 10:49:07 +08:00
yyc12345
4f0b3d19d1
refactor: update C++ from 17 to 23
2025-07-25 09:35:26 +08:00
yyc12345
f014e54604
feat: update pycodec.
...
- rename encoding::utf to encoding::stlcvt.
- use uv to manage script and add pycodec generator script.
- update script in modern python.
- fix added pycodec generator.
2025-07-23 16:07:49 +08:00
yyc12345
821a592f02
feat: add various detector.
...
- add endian and compiler detector, and modify os detector.
- now we use CMake to add detector-used macro, instead of using some C++ features to detect them.
- change Windows environment detection according to the change of os detector.
2025-07-23 10:18:01 +08:00
yyc12345
6043609709
feat: finish windows encoding
2025-07-22 21:52:09 +08:00
yyc12345
53e8a77f47
feat: finish iconv module
2025-07-22 14:15:53 +08:00
yyc12345
6d44c7605b
refactor: update encoding namespace
...
- add all essential functions prototypes in iconv encoding.
- add lost UTF convertion for windows encoding.
2025-07-21 20:36:26 +08:00
yyc12345
c2f6e29c36
feat: finish iconv kernel
2025-07-18 15:57:33 +08:00
yyc12345
c102964703
refactor: write iconv.
...
- write iconv encoding (not finished).
- rename united_codec to pycodec.
2025-07-15 16:17:59 +08:00
yyc12345
3605151caf
refactor: finish Windows encoding namespace.
...
- finish Windows encoding namespace.
- add std::expected polyfill for help.
2025-07-14 15:06:33 +08:00
yyc12345
fa52d7416f
refactor: condense the shared test data of parse and stringify.
2025-07-14 09:43:23 +08:00
yyc12345
e42a3b6e58
refactor: move YYCC_U8 from reinterpret.hpp to string.hpp
...
- move YYCC_U8 def.
- create shared template in testbench.
2025-07-14 09:13:47 +08:00
yyc12345
cec6091996
refactor: add utf convertion namespace
2025-07-02 10:36:33 +08:00
yyc12345
6e884d865d
test: add testbench for patch (starts ends with, and contains)
2025-07-01 14:04:02 +08:00
yyc12345
58ec960e9c
refactor: move std patch into correct position
2025-07-01 11:00:09 +08:00
yyc12345
732a560a65
refactor: finish constraint builder and its testbench
2025-06-30 09:33:46 +08:00
yyc12345
3030a67ca3
refactor: re-place files into correct position according to namespace hierarchy
2025-06-30 08:45:18 +08:00
yyc12345
e166dc41ac
refactor: finish rust parse and add testbench for it.
2025-06-26 10:27:33 +08:00
yyc12345
a6382d6a22
refactor: add document for some namespaces
2025-06-25 10:40:05 +08:00
yyc12345
adc99274f4
refactor: add testbench for parse and stringify
2025-06-24 11:29:01 +08:00