summarylogtreecommitdiffstats
AgeCommit message (Collapse)Author
7 daysUpdate to 1.10.1Buck Yeh
11 daysUpgrade to 1.10.0Buck Yeh
Enhancements on `Logger` & `UnicodeCvt` 1. [New] Define TURN_OFF_LOGGER_ to turn off the logger globally. 2. [New] LOG1(), SCOPELOGXn(), FUNLOGXn() more handy in simple scenarios than LOG(), SCOPELOGX(), FUNLOGX() 3. [Bug] std::forward<T_Args>() is removed when used thru SCOPELOGX() & FUNLOGX() for both Linux & Windows. 4. [Change] Re-haul to get UnicodeCvt to pass as many test cases as possible in both Linux & Windows, except: * In Linux, UTF-16BE without BOM still fails. * In Windows, UTF-32 has found no way to pass.
2024-10-26`EZScape.cpp` defines replacements of curl_easy_escape() & ↵buck-yeh
curl_easy_unescape() of libcurl, respectively.
2024-09-28[Change] Make `FUNLOGX()` usable in Windowsbuck-yeh
2024-09-17Re-haul logger hierarchy to allow choosing between system clock and local ↵buck-yeh
time (default) 1. Remove class C_UseLogger and extract the essence into more reusable funtion stamp() 2. Macro DEF_FALLBACKABLE_LOGGER_FILES() renamed to shorter DEF_FALLBACK_LOGGER_FILES() 3. Replace -g3 -Og with -O2 to build more efficient library.
2024-08-05[Change] Only (!strip) can preserve all link symbolsbuck-yeh
2024-08-04Time to say goodbye to `fmt`buck-yeh
[Change] Replace `fmt::format()`, `fmt::print()` with `std::format()`, `std::print()` [Change] `I_LexAttr` becomes abstract [Change] To '-std=c++23'
2023-02-23Bugfix & vcpkg compliancebuck-yeh
1. [Bug] Help USAGE line for a subcommand, if any, is displayed in wrong order. 2. [vcpkg] Merge from https://github.com/microsoft/vcpkg/pull/26248 so that `fix-clang-cl.patch` can be removed.
2023-01-29Updates for newer compiler versionsbuck-yeh
1. [VS2022] Include <utility> to get `std::cmp_less_equal()` compiled. 2. [Standard] Re-implement `bux::C_ScreenerNo` in a more compliant way.
2022-06-16[Accumulated updates](https://github.com/buck-yeh/bux/releases/tag/1.6.6)buck-yeh
2022-06-01[Misc improvements with minor breakage of ↵buck-yeh
includes](https://github.com/buck-yeh/bux/releases/tag/1.6.5)
2022-05-21[Bug/quirk fixes & ↵buck-yeh
enhancements](https://github.com/buck-yeh/bux/releases/tag/1.6.4)
2021-11-15[bugfix] No such operator from standard as std::string += std::filesystem::pathbuck-yeh
2021-11-15EZArgs.h conceptualized AGAIN (in a right way)buck-yeh
See https://github.com/buck-yeh/bux/releases/tag/1.6.0
2021-10-18EZArgs.h conceptualizedbuck-yeh
See https://github.com/buck-yeh/bux/releases/tag/1.6.0
2021-10-02bux::C_ParaLog is ready for usebuck-yeh
[New] bux::C_ParaLog is ready for a variety of parallel logging configurations, filtered or unfiltered. [New] Necessary helper classes for implementation s.t logger users no longer need to declare child source instances explicitly. [New] Add methods to ParaLog.h & SyncLog.h to support testability. [New] Add unit test cases to ParaLog.h & SyncLog.h (test_paralog & test_logger) [New] Update what are found in test/ to test/archlinux/aur_poc/ [Bug] std::uniform_int_distribution<unsigned char> no longer allowed. [Change] CUR_FUNC_ for Windows (MSVC) [Change] tbb is no longer implicitly needed by C++ standard library. [Change] smoke_filtlog.cpp verifies 2-level log filters ok.
2021-08-22SCOPELOG() indentation & new macro LOG_RAW()buck-yeh
1. [Bug] Boudary lines of SCOPELOG() & SCOPELOGX(), and so FUNLOG & FUNLOGX(), are indented deeper in the same depth with scoped log lines. 2. [New] LOG_RAW() simply logs what is formatted by arguments between ( ) without the ordinary timestamp-tid-loglevel prefix.
2021-08-18bux is cmake-installablebuck-yeh
1. [New] Add install() derectives to enable installation thru either 'make install' or 'cmake --install' 2. [Bug] Add missing tbb library to both test_atomix & Dockerfile 3. [Change] Update mirrorlist links in Dockerfile
2021-07-31Advent of bux::C_ParaLog & moving towards vcpkg portbuck-yeh
1. 🆕 `bux::C_ParaLog` in `ParaLog.*` is for simultaneous logging to multiple child loggers. 2. 🆕 Building blocks for a variety of simple loggers in `SyncLog.*`. Usages can be simplified by `DEF_\w+` macros defined in `Logger.h` and are demostrated in test programs `test/smoke_*.cpp` 3. 🚮 Obsolete `Sync.*` & `SyncStream.*` 4. ⚠️ `bux::MIN_TOKEN_ID` redeclared as standalone constant from enum constant due to C++20 warning 5. ✍️ Remove usages of FMT_STRING() and start to use fmt::runtime() with advent of *fmt v8.0* 6. ✍️ Adding MSVC flavor of lines to `CMakeLists.txt` files. (Tested in VS2019) 7. ✅ Builds with VS2019 in {x86,x64}X{Debug,Release}X{dynamic,static} are tested.
2021-04-17Replace include guards with #pragma oncebuck-yeh
2021-02-17Conceptualize headers & add test casesbuck-yeh
1. 🆕 `ParaUtil.h` with `bux::C_NumIter<>` 2. 🆕 `test/test_PO.cpp` for `PartialOrdering.h` 3. 🆕 `test/test_atomix.cpp` for `AtomiX.h` 4. ✍️ Conceptualize `Intervals.h` `PartialOrdering.h` `FA.h` and eliminate their dependencey to `<functional>` 4. ✍️ Refine function handler `bux::FH_ReadChar` in `UnicodeCvt.h` to return `std::optional<char>` insteal of **bool** 5. 🚮 Remove aged function classes `bux::FC_Parse*` from `StrUtil.h`
2021-02-14Warning-free clang buildbuck-yeh
1. ✍️ Subdir test/ is excluded from build by default. To include test/, configure cmake with -DBUILD_TEST=1 2. ✍️ `bux::C_EzArgs::parse()` accepts `argc` parameter both in type **size_t** or **int** 3. ✍️ `Intervals.h` rehauled to use C++20 concepts to smartly reduce lines and eliminate clang warnings altogether. 4. ✍️ Eliminate clang warnings here & there.
2021-02-10Backward incompactible release due to function prototype changesbuck-yeh
1. ✍️ Use `FMT_STRING()` everywhere. 2. ✍️ Change a few function argument types from `const std::string &` to `std::string_view`. This will break `parsergen` prior to v1.6.2
2021-01-27Incompatible supports to upcoming parsergen v1.6.2buck-yeh
1. 🆕 bux::E_LogLevel moved to new header LogLevel.h 2. 🆕 bux::C_ParserOStreamCount as support parser context type to support error logging & counting off-the-shelf. 3. 🐞 SCOPELOGX() with format string containing arg_id(s) will have wrong output. 4. ✍️ Attribute [[nodiscard]] to return types in ScannerBase.h 5. ✍️ C_EZArgs::help_full() prints ... trailing to unlimited postional args instead of [...] 6. ✍️ Templateless function template bux::search_dirs() 7. ✍️ Ctor of bux::C_EntryLog accept scope name of type std::string_view instead of const char*
2021-01-11Incompatible release for parsergen v1.6.0 coming next:buck-yeh
1) [Bug] bux::C_ScannerImpl<>::add() can crash when member m_stateRecs is null. 2) [Bug] GLR stack dump misses t= values. 3) [Change] Remove the obsolete from ParserBase.h for good. 4) [Change] bux::GLR::I_ParserPolicy::onError() prototype.
2020-12-25Stricter once-only headers and StrUtil.h into 3 headersbuck-yeh
2020-12-24Always include headers from bux/ subdir to save me days to implement CMake ↵buck-yeh
finding module.
2020-12-21First commitbuck-yeh