Commit graph

76 commits

Author SHA1 Message Date
f1d995340b Add some type list machinery 2021-05-07 17:38:36 +03:00
1c4fbb1618 Make heterogeneous_container::get return pointers instead of copies 2021-05-07 17:35:11 +03:00
497b90ee7a Fix flat_list::clear for trivially destructible types 2021-04-27 23:12:36 +03:00
f9894647e3 Better 64-bit hash_combine 2021-04-25 22:08:42 +03:00
2eab5b7b9a Add memory size pretty printing 2021-03-13 18:46:09 +03:00
0a367b8ab4 Change profiler time reporting format 2021-03-12 14:43:30 +03:00
9aa494ab96 Move old statistic module to statistics_lite, a new statistics module can compute percentiles 2021-03-12 14:43:00 +03:00
6e49551045 Add util::span::data 2021-03-07 19:04:48 +03:00
0bed4ae39f Add binary deserialization helper class 2021-03-07 18:28:06 +03:00
c26cf898ca Bugfix in util::function: forward the callable instead of moving it 2021-03-04 14:31:15 +03:00
e266bb476e Fix unused function warning for release build 2021-03-03 19:46:24 +03:00
d695c29cc7 Add util::span 2021-02-25 09:07:28 +03:00
7520901f30 Add utf8 iterator & range 2021-02-23 20:13:33 +03:00
dbeb613740 Make util::empty stream output operator inline 2021-02-17 23:11:25 +03:00
5e7aa7601d Pimpl declaration macros now define a make_pimpl(...) static helper function 2021-01-23 10:42:14 +03:00
07924aa0d5 Various clang compilation issues 2021-01-18 20:02:35 +03:00
2205b5e2a7 util/io_fwd was a bad idea 2021-01-18 18:17:57 +03:00
d7469920de Clang compilation fixes: use non-template stream output operators 2021-01-18 18:11:01 +03:00
f0611657ac Generate empty source file for libraries with no sources 2021-01-18 18:10:35 +03:00
e7cac4a618 Clang compilation fixes 2021-01-18 18:01:03 +03:00
22f5b85854 Node-based binary heap (wip) 2020-12-16 11:05:29 +03:00
9c54f6e730 Add function profiling macro 2020-12-16 11:05:29 +03:00
50cc785998 Get elapsed time before locking mutex in profiler 2020-12-16 11:05:29 +03:00
eff7be5653 Redesign profiler: hierarchical, thread-aware, dump into log::info upon request 2020-12-16 11:05:29 +03:00
ce4e561cac Support merging two util::statistics 2020-12-16 11:05:29 +03:00
7751d6fd36 Add util::statistics::count 2020-12-16 11:05:29 +03:00
0517609b8b Add util/hash header 2020-12-11 17:58:36 +03:00
abd40bfa4d Make util::profiler use the logging system 2020-11-29 12:30:02 +03:00
8ea508ee20 Fix flat_list: destructor hack should only compile for types with nontrivial destructor 2020-11-29 12:27:41 +03:00
d470fe7346 Add a heterogeneous container (with type list specified at compile-time) & tests 2020-11-26 22:01:57 +03:00
ccef8f91ea Optimize flat_list::clear for the case of trivially-destructible types 2020-11-26 14:43:30 +03:00
e3c42627c4 Add util::flat_list and tests 2020-11-25 13:23:27 +03:00
eda0701887 Add util tests 2020-11-24 23:13:34 +03:00
26d06b74d3 Fix util::array::release 2020-11-24 23:11:11 +03:00
bfff9b2c4d Add util::blob::operator bool() and util::blob::swap 2020-11-24 23:10:52 +03:00
1e1679ffe0 Add <functional> include in util::function for std::invoke 2020-11-24 23:10:15 +03:00
c6fe38989c util::function bugfixes & strong exception guarantee 2020-11-23 17:56:35 +03:00
cb468aa675 Remove polymorphic_storage helper 2020-11-22 12:40:31 +03:00
a1cf646633 Rename movable_function -> function & better SSO 2020-11-22 12:40:26 +03:00
8e3a012fd6 Add small object optimization to movable_function 2020-11-22 11:19:49 +03:00
e41e2492ca Improve synchronyzed_queue interface: support timed variants of all operations 2020-11-21 23:29:17 +03:00
0d64e86ffe Add async library & move stuff from util to async 2020-11-21 16:27:38 +03:00
a6b931e8e2 Support auto-canceled tasks 2020-11-21 15:43:42 +03:00
5f91587a39 Add future::ready 2020-11-21 15:32:24 +03:00
ff5d778118 Fix executor::dispatch_at time_point_cast bug 2020-11-21 15:32:14 +03:00
8ecf10de30 Mark future::wait as const 2020-11-21 15:31:55 +03:00
fb9f1d8f30 Fix threadpool name use-after-free bug 2020-11-21 15:31:25 +03:00
240d26663b Add deferred event support to executors 2020-11-21 15:16:47 +03:00
a8a1f44a89 Support deferred events in synchronyzed_queue & remove timeout methods 2020-11-21 15:14:06 +03:00
9fa32c2dd1 Add util::event_loop executor 2020-11-19 23:50:28 +03:00