0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-09 19:41:22 +01:00
Commit graph

140 commits

Author SHA1 Message Date
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
Jason Volk
f34cc52043 ircd::util: Allow variable increment for scope_count. 2020-05-06 17:30:12 -07:00
Jason Volk
32d624e3e9 ircd::util: Add overload for what() on std::exception value-type. 2020-04-23 04:19:53 -07:00
Jason Volk
8058fbc6e9 ircd::util: Add template typedef convenience for std::pair. 2020-04-12 14:33:47 -07:00
Jason Volk
8050d6d66b ircd::util: Assert for tellp() result >= 0. 2020-04-11 13:25:12 -07:00
Jason Volk
0eb66b52d4 ircd::util: Apply noexcept to several participating overloads. 2020-03-14 17:15:53 -07:00
Jason Volk
d579dd54aa ircd::util: Add pre-c++2a identity functor template. 2020-02-26 18:10:41 -08:00
Jason Volk
13469512c3 ircd::util: Disable undefined-var-template warning for clang. 2020-02-02 17:35:33 -08:00
Jason Volk
9d7e35adb1 ircd::util: Inline template definitions for clang. 2020-02-01 13:34:45 -08:00
Jason Volk
4970e4f626 ircd::util::params: Support prefixed non-positional parameters. 2019-12-10 22:02:30 -08:00
Jason Volk
5b3cc11859 ircd::util::params: Modernize; remove allocation. 2019-12-10 17:51:14 -08:00
Jason Volk
a32e05e9c4 ircd::util: Increase constness; remove default template arguments on definition. 2019-12-04 23:28:29 -08:00
Jason Volk
df79d61395 ircd::util: Elide std::function overhead for util::unwind suite. 2019-12-03 13:39:49 -08:00
Jason Volk
b82123e09a ircd::util: Prevent section creation std::function wrapper in ~unwind. 2019-10-08 14:56:23 -07:00
Jason Volk
7fd40513f4 ircd::util::callbacks: Add default void prototype to template. 2019-09-30 14:23:28 -07:00
Jason Volk
98d04ebb2f ircd::util::callbacks: Add note to comment. 2019-09-27 21:40:19 -07:00