Releases: buck-yeh/bux
Releases · buck-yeh/bux
[bugfix] No such operator from standard: std::string += std::filesystem::path
Conceptualize bux::C_EZArgs
- [Change] We now have 9
C_EZArgs::add_flag()
overloads. - [Change] Must provide
onParsed
parameter when callingC_EZArgs::add_subcommand()
- [Change]
FUNLOG()
now logs function name only (FUNCTION) instead of full function signature (FUNCSIG) to avoid logging
convoluted long names.
EZArgs.h conceptualized
- [Change]
bux::C_EZArgs
methods conceptualized. - [Change][Incompatible]
bux::C_ErrorOrIndex
knows the difference between error and help text. - [Change] Argument
dirs
ofbux::search_dirs()
is now typed asstd::ranges::forward_range
instead of in-housebux::ConstPathList
- [Change]
const std::string &
is somtimes more efficient thanstd::string_view
- [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. - [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
- [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/
totest/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.
SCOPELOG() indentation & new macro LOG_RAW()
- [Bug] Boudary lines of SCOPELOG() & SCOPELOGX(), and so FUNLOG & FUNLOGX(), are indented deeper in the same depth with scoped log lines.
- [New] LOG_RAW() simply logs what is formatted by arguments between ( ) without the ordinary timestamp-tid-loglevel prefix.
bux is now cmake-installable
- [New] Add install() derectives to enable installation thru either
make install
orcmake --install
- [Bug] Add missing
tbb
library to bothtest_atomix
&Dockerfile
- [Change] Update mirrorlist links in
Dockerfile
Replace include guards with #pragma once
- Replace include guards with
#pragma once
- Sync
test/archlinux/aur_poc/
withtest/
Conceptualize headers & add test cases
- 🆕
ParaUtil.h
withbux::C_NumIter<>
- 🆕
test/test_PO.cpp
forPartialOrdering.h
- 🆕
test/test_atomix.cpp
forAtomiX.h
- ✍️ Conceptualize
Intervals.h
PartialOrdering.h
FA.h
and eliminate their dependencey to<functional>
- ✍️ Refine function handler
bux::FH_ReadChar
inUnicodeCvt.h
to returnstd::optional<char>
insteal of bool - 🚮 Remove aged function classes
bux::FC_Parse*
fromStrUtil.h
Warning-free clang build
- ✍️ Subdir test/ is excluded from build by default. To include test/, configure cmake with -DBUILD_TEST=1
- ✍️
bux::C_EzArgs::parse()
acceptsargc
parameter both in type size_t or int - ✍️
Intervals.h
rehauled to use C++20 concepts to smartly reduce lines and eliminate clang warnings altogether. - ✍️ Eliminate clang warnings here & there.
- 🆕 test/hrtn to demangle external symbols freely.
Backward incompactible release due to function prototype changes
- ✍️ Use
FMT_STRING()
everywhere. - ✍️ Change a few function argument types from
const std::string &
tostd::string_view
. This will breakparsergen
prior to v1.6.2