Skip to content

Releases: buck-yeh/bux

[bugfix] No such operator from standard: std::string += std::filesystem::path

15 Nov 15:33
Compare
Choose a tag to compare

Conceptualize bux::C_EZArgs

14 Nov 16:23
Compare
Choose a tag to compare
  1. [Change] We now have 9 C_EZArgs::add_flag() overloads.
  2. [Change] Must provide onParsed parameter when calling C_EZArgs::add_subcommand()
  3. [Change] FUNLOG() now logs function name only (FUNCTION) instead of full function signature (FUNCSIG) to avoid logging
    convoluted long names.

EZArgs.h conceptualized

17 Oct 17:26
Compare
Choose a tag to compare
  1. [Change] bux::C_EZArgs methods conceptualized.
  2. [Change][Incompatible] bux::C_ErrorOrIndex knows the difference between error and help text.
  3. [Change] Argument dirs of bux::search_dirs() is now typed as std::ranges::forward_range instead of in-house bux::ConstPathList
  4. [Change] const std::string & is somtimes more efficient than std::string_view
  5. [Change] Methods of bux::C_EZArgs tuned for uint tests to pass. But the changes are also healthier and more tolerable in the long run.
  6. [New] RAW_LOGIC_ERROR(), RAW_RUNTIME_ERROR() with no source trace, just the formatted message.

p.s. This release id not for clang, which is lack of C++20 P0634R3 feature.

bux::C_ParaLog is ready for use

02 Oct 06:45
Compare
Choose a tag to compare
  1. [New] bux::C_ParaLog is ready for a variety of parallel logging configurations, filtered or unfiltered.
  2. [New] Necessary helper classes for implementation s.t logger users no longer need to declare child source instances explicitly.
  3. [New] Add methods to ParaLog.h & SyncLog.h to support testability.
  4. [New] Add unit test cases to ParaLog.h & SyncLog.h (test_paralog & test_logger)
  5. [New] Update what are found in test/ to test/archlinux/aur_poc/
  6. [Bug] std::uniform_int_distribution<unsigned char> no longer allowed.
  7. [Change] CUR_FUNC_ for Windows (MSVC)
  8. [Change] tbb is no longer implicitly needed by C++ standard library.
  9. [Change] smoke_filtlog.cpp verifies 2-level log filters ok.

SCOPELOG() indentation & new macro LOG_RAW()

21 Aug 17:19
Compare
Choose a tag to compare
  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.

bux is now cmake-installable

17 Aug 18:54
Compare
Choose a tag to compare
  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

Replace include guards with #pragma once

17 Apr 09:13
Compare
Choose a tag to compare
  1. Replace include guards with #pragma once
  2. Sync test/archlinux/aur_poc/ with test/

Conceptualize headers & add test cases

17 Feb 07:05
Compare
Choose a tag to compare
  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>
  5. ✍️ Refine function handler bux::FH_ReadChar in UnicodeCvt.h to return std::optional<char> insteal of bool
  6. 🚮 Remove aged function classes bux::FC_Parse* from StrUtil.h

Warning-free clang build

14 Feb 11:00
Compare
Choose a tag to compare
  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.
  5. 🆕 test/hrtn to demangle external symbols freely.

Backward incompactible release due to function prototype changes

10 Feb 11:15
Compare
Choose a tag to compare
  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