0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-25 16:22:35 +01:00
construct/include/ircd/util
2023-04-03 11:47:32 -07:00
..
align.h ircd::util: Add alignment gauge to suite. 2022-10-01 22:06:45 +00:00
all.h
bitset.h ircd::util::bitset: Make set() invertible to false. 2023-04-03 11:47:32 -07:00
blackwhite.h ircd::util: Add blackwhite::list tool. 2023-02-27 23:58:08 -08:00
bswap.h ircd::util: Improve bswap template codegen. 2022-07-01 12:08:06 -07:00
callbacks.h
closure.h ircd::util: Add missing default construction for closure_bool. 2023-02-23 15:11:46 -08:00
compare_exchange.h ircd::util: Add a non-atomic compare_exchange(). 2020-12-21 00:44:14 -08:00
construction.h
custom_ptr.h
enum.h
env.h ircd::util: Add environment iteration convenience tools. 2023-02-07 20:04:26 -08:00
hash.h ircd::util: Optimizations for the bernstein constexpr string hasher. 2020-12-11 22:50:57 -08:00
identity.h
instance_list.h ircd::util: Fix unsafe instance_list emplace; assert for allocator state. 2022-07-20 18:32:38 -07:00
instance_map.h ircd::util::instance_map: Fix ill-formed emplace_hint decomposition in template. 2023-02-06 18:15:52 -08:00
instance_multimap.h ircd::util: Optimize instance_multimap w/ allocator::node. 2023-02-05 18:45:08 -08:00
iterator.h
life_guard.h
mask.h
maybe.h
nothrow.h
params.h Add noexcept to various lambdas (gcc-11). 2022-06-29 14:42:42 -07:00
pointers.h
popcount.h ircd::util: Add missing popcount specializations. (regression fe0f398e14) (-Wundefined-inline) 2023-02-09 19:17:45 -08:00
pretty.h ircd: Fix/improve comments. [ci skip] 2020-12-06 10:36:47 -08:00
pubsetbuf.h ircd::util: Fix clamp for negative stream::tellp() to view empty. 2023-02-07 20:04:26 -08:00
README.md
reentrance.h
returns.h ircd::util::returns: Eliminate std::function w/ template lambda. 2023-02-22 16:04:12 -08:00
scope_count.h Revert "ircd: ISO C++ requires template on destructor names out-of-line." (gcc-11/12) 2022-06-20 17:26:39 -07:00
scope_restore.h Revert "ircd: ISO C++ requires template on destructor names out-of-line." (gcc-11/12) 2022-06-20 17:26:39 -07:00
string.h
test.h
timer.h ircd::util::timer: Add constexpr conditional construction. 2023-02-09 12:11:32 -08:00
tuple.h ircd::util: Refactor tuple tools w/ if constexpr; remove until(). 2022-06-30 14:21:50 -07:00
typography.h ircd::util: Add sign cast convenience suite. 2023-03-25 18:37:56 -07:00
u2a.h
unique_iterator.h ircd::util::unique_iterator: Add deref operator passthrus; minor reorg. 2023-03-16 17:23:28 -07:00
unit_literal.h
unwind.h
util.h ircd::util: Add blackwhite::list tool. 2023-02-27 23:58:08 -08:00
va_rtti.h
what.h

Utility Toolchest

This namespace contains an accumulated collection of miscellaneous classes and functions which have demonstrated value some place in the project, but are not really specific to the project's application. While most of libircd is arguably a utility suite itself (i.e tokens.h and lex_cast.h and base.h which are not within ircd::util) the contents of this namespace tend to be even more abstract, and serve as utilities to the utilities, etc. This collection is here to save developers time and enforce DRY.

These tools still rank below ircd::exception, *_view, buffer:: and allocator:: and can still make use of those considering the linear inclusion strategy of the project (see: ircd.h).