0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-18 16:00:57 +01:00
Commit graph

155 commits

Author SHA1 Message Date
Jason Volk
44acfb5deb ircd::util::timer: Add constexpr conditional construction. 2023-02-09 12:11:32 -08:00
Jason Volk
8387459369 ircd::util: Fix clamp for negative stream::tellp() to view empty. 2023-02-07 20:04:26 -08:00
Jason Volk
fe0f398e14 ircd::util: Add popcount wrapping; consolidate callsites. 2023-02-07 20:04:26 -08:00
Jason Volk
0b9bb185de ircd::util: Add environment iteration convenience tools. 2023-02-07 20:04:26 -08:00
Jason Volk
bd960a206b ircd::util::instance_map: Fix ill-formed emplace_hint decomposition in template. 2023-02-06 18:15:52 -08:00
Jason Volk
49bd43e685 ircd::util: Optimize instance_map w/ allocator::node. 2023-02-05 18:46:20 -08:00
Jason Volk
df67d08897 ircd::util: Optimize instance_multimap w/ allocator::node. 2023-02-05 18:45:08 -08:00
Jason Volk
a2b7c172c7 ircd::util::bitset: Add bounds-check appeasing stringop-overflow (gcc-12). 2023-01-15 22:32:00 -08:00
Jason Volk
6827994a62 ircd::util: Add alignment gauge to suite. 2022-10-01 22:06:45 +00:00
Jason Volk
b271007fd2 ircd::util: Fix unsafe instance_list emplace; assert for allocator state. 2022-07-20 18:32:38 -07:00
Jason Volk
5d71d848a7 ircd::util: Fix undefined-var-template linkage related warning. 2022-07-20 12:31:49 -07:00
Jason Volk
ca66882b6e ircd::util: Additional pubsetbuf() convenience; inline linkages. 2022-07-19 14:26:23 -07:00
Jason Volk
6a961e5b38 ircd::util: Add instance_map. 2022-07-18 16:58:02 -07:00
Jason Volk
80ee906a8e ircd::util: Use memfun template for proper universal forwarding; inline linkages. 2022-07-18 16:58:02 -07:00
Jason Volk
fe8c11dc94 ircd::util: Add a constexpr bitset. 2022-07-13 13:56:53 -07:00
Jason Volk
c60fc0ccdd ircd::util: Improve bswap template codegen. 2022-07-01 12:08:06 -07:00
Jason Volk
642165a8bd ircd::util: Refactor tuple tools w/ if constexpr; remove until(). 2022-06-30 14:21:50 -07:00
Jason Volk
5a4a395fc2 Add noexcept to various lambdas (gcc-11). 2022-06-29 14:42:42 -07:00
Jason Volk
888f99e205 ircd::util: Propagate closure noexcept through template. 2022-06-28 12:37:13 -07:00
Jason Volk
7f2ac27cc5 ircd::util: Add is_pod wrapper; fix deprecation warning. 2022-06-28 12:37:13 -07:00
Jason Volk
5a11c31d97 Revert "ircd: ISO C++ requires template on destructor names out-of-line." (gcc-11/12)
This reverts commit e3e3bd7b09.

Add -Wno-dtor-name to clang warning discovery section.
2022-06-20 17:26:39 -07:00
Jason Volk
e3e3bd7b09 ircd: ISO C++ requires template on destructor names out-of-line. 2022-06-17 21:11:54 -07:00
Jason Volk
c15272a5f3 ircd::util: Fix reinterpret cast of reference; add inline linkages; noexcept. 2022-06-17 21:11:54 -07:00
Jason Volk
96b101cd6f ircd: Promote assume() to macro in portable.h.
Revert "ircd: Add assume() convenience wrapping for __builtin_assume()."

This reverts commit 597f60cf6b.
2022-06-17 21:11:53 -07:00
Jason Volk
013117495c ircd::util: Add volatile overload for alignment checker. 2022-06-17 21:11:53 -07:00
Jason Volk
9c7ac98d9a ircd::util: Add involatile_cast() template convenience. 2022-06-17 21:11:53 -07:00
Jason Volk
2604f1370a ircd::buffer: Move abstract align/padding tools to ircd::util. 2022-06-17 21:11:53 -07:00
Jason Volk
9fcca617df ircd::util: Complete the closure_bool template tool. 2022-06-17 21:11:53 -07:00
Jason Volk
014d0281d7 ircd::math: Start supplemental library; move log2 constexprs from util. 2021-03-05 13:02:12 -08:00
Jason Volk
770088d677 ircd::util: Add a non-atomic compare_exchange(). 2020-12-21 00:44:14 -08:00
Jason Volk
dac50c8da7 ircd::util: Optimizations for the bernstein constexpr string hasher. 2020-12-11 22:50:57 -08:00
Jason Volk
6ceb8c193b ircd: Fix/improve comments. [ci skip] 2020-12-06 10:36:47 -08:00
Jason Volk
ded8f05064 ircd::tokens: Simplify interface w/ closure template; eliminate named closure.
ircd::tokens: Minor interface cleanup; inline linkages.
2020-11-27 20:06:19 -08:00
Jason Volk
266e617e36 ircd::util: Implement the closure template concept. 2020-11-27 20:06:19 -08:00
Jason Volk
f3886d60d8 ircd: Replace callsites w/ template deduced mutable_cast. 2020-11-05 22:10:53 -08:00
Jason Volk
2eab4fb4f7 ircd::util: Improve mutable_cast convenience template. 2020-11-05 22:10:53 -08:00
Jason Volk
01385aab2d ircd::util: Add ssizeof() convenience template. 2020-11-05 22:10:53 -08:00
Jason Volk
597f60cf6b ircd: Add assume() convenience wrapping for __builtin_assume(). 2020-10-12 18:07:39 -07:00
Jason Volk
d10576a03e ircd::util: Remove separate header for pair gimmick; move to stdinc.h 2020-10-10 01:16:39 -07:00
Jason Volk
de0650d3f7 ircd: Reorg simd.h / buffer.h interface dependency relationship. 2020-10-10 00:43:59 -07:00
Jason Volk
512b12caf1 ircd::util: Refactor pretty(duration) interface; internal template. 2020-09-27 18:12:51 -07:00
Jason Volk
407202f85f ircd::util: Improvements to timer tool; fix accumulator semantics; comments. 2020-09-10 23:50:47 -07:00
Jason Volk
7b335a8285 ircd::util: Move _constexpr_equal() out of util for now. 2020-08-04 16:50:56 -07:00
Jason Volk
2b0c3addfe ircd: Fix inlining attributes for clang-10. 2020-07-10 20:04:39 -07:00
Jason Volk
4371d803a4 ircd: Move fpe out of util. 2020-06-17 23:01:23 -07:00
Jason Volk
f0d0705dfd ircd::util: Remove legacy syscall templates. (related eb00134100) 2020-06-14 03:04:59 -07:00
Jason Volk
eb00134100 ircd::util: Move syscall() templates out of util; minor reorg includes.
ircd::sys: Add abstract sysfs tool and template from fs::dev.
2020-06-11 09:49:33 -07:00
Jason Volk
ee4d64ff28 ircd::util: Start an all() convenience template w/ bool specialization. 2020-06-08 16:13:00 -07:00
Jason Volk
7064e4f349 ircd::util: Improve some comments; minor cleanup. 2020-05-28 15:20:32 -07:00
Jason Volk
52831893da ircd::util: Add next_powerof2(u64) constexpr. 2020-05-07 21:31:02 -07:00