0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-26 00:32:35 +01:00
construct/include/ircd/util
2023-01-15 22:32:00 -08:00
..
align.h ircd::util: Add alignment gauge to suite. 2022-10-01 22:06:45 +00:00
all.h ircd::util: Start an all() convenience template w/ bool specialization. 2020-06-08 16:13:00 -07:00
bitset.h ircd::util::bitset: Add bounds-check appeasing stringop-overflow (gcc-12). 2023-01-15 22:32:00 -08:00
boolean.h
bswap.h ircd::util: Improve bswap template codegen. 2022-07-01 12:08:06 -07:00
callbacks.h
closure.h ircd::util: Propagate closure noexcept through template. 2022-06-28 12:37:13 -07:00
compare_exchange.h ircd::util: Add a non-atomic compare_exchange(). 2020-12-21 00:44:14 -08:00
construction.h ircd: Fix inlining attributes for clang-10. 2020-07-10 20:04:39 -07:00
custom_ptr.h
enum.h
env.h
hash.h ircd::util: Optimizations for the bernstein constexpr string hasher. 2020-12-11 22:50:57 -08:00
identity.h ircd::util: Add pre-c++2a identity functor template. 2020-02-26 18:10:41 -08:00
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: Add instance_map. 2022-07-18 16:58:02 -07:00
instance_multimap.h ircd::util: Use memfun template for proper universal forwarding; inline linkages. 2022-07-18 16:58:02 -07:00
iterator.h
life_guard.h
mask.h ircd: Reorg simd.h / buffer.h interface dependency relationship. 2020-10-10 00:43:59 -07:00
maybe.h ircd::util: Inline template definitions for clang. 2020-02-01 13:34:45 -08:00
nothrow.h
params.h Add noexcept to various lambdas (gcc-11). 2022-06-29 14:42:42 -07:00
pointers.h
pretty.h ircd: Fix/improve comments. [ci skip] 2020-12-06 10:36:47 -08:00
pubsetbuf.h ircd::util: Additional pubsetbuf() convenience; inline linkages. 2022-07-19 14:26:23 -07:00
README.md
reentrance.h
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: Improvements to timer tool; fix accumulator semantics; comments. 2020-09-10 23:50:47 -07: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 is_pod wrapper; fix deprecation warning. 2022-06-28 12:37:13 -07:00
u2a.h
unique_iterator.h
unit_literal.h
unwind.h
util.h ircd::util: Fix unsafe instance_list emplace; assert for allocator state. 2022-07-20 18:32:38 -07:00
va_rtti.h
what.h ircd::util: Add overload for what() on std::exception value-type. 2020-04-23 04:19:53 -07:00

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).