Commit graph

141 commits

Author SHA1 Message Date
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
daf1a3c5f4 Make threadpool implement executor interface 2020-11-19 23:50:23 +03:00
8bfc6cfd72 Add an executor interface that supports cancelable tasks 2020-11-19 23:48:33 +03:00
71f6fc9baf Add LRU cache implementation 2020-11-08 16:19:37 +03:00
42501ec7c2 Add threadpool::queue_size() and synchronyzed_queue::size() 2020-11-08 16:12:42 +03:00
1771f56508 Fix all stream output operators: operator<< might return a different stream type 2020-11-06 17:34:57 +03:00
d88799f308 Add util::array mirroring 2020-10-26 18:38:22 +03:00
08c62d6e3f Add macro-based pimpl & use it everywhere 2020-10-23 17:14:54 +03:00
7b9e042842 Fix threadpool::wait - wait for finished tasks as well, not just empty task queue 2020-09-30 16:20:48 +03:00
d4c2b5c408 Fix array indices iteration 2020-09-30 16:16:24 +03:00
e520b464e4 Add util::array iterators over range of indices 2020-09-30 07:23:05 +03:00
f193ddf41d Add util::map(array) for transforming arrays elementwise 2020-09-23 20:19:02 +03:00
5830977e45 Add a simple statistics calculator utility 2020-09-23 13:14:34 +03:00
1ab980f0d2 Threadpool requires having a name 2020-09-21 20:22:22 +03:00
d2d88ba7c5 Add 'psemek-' prefix to all psemek targets 2020-09-21 09:04:40 +03:00
bc585c6c8f Add REQUIRED to find_package(Threads) 2020-09-21 09:03:28 +03:00
c7dba5eef2 Add pedantic warnings to CMake & fix all warnings 2020-09-13 13:03:31 +03:00
9ee0e42695 Add unused macro 2020-09-13 12:49:47 +03:00
0453d4e15d Be more permissive with vector & point constructor argument types & array index types 2020-09-13 12:49:34 +03:00
12b4b44011 Various util::array fixes 2020-09-10 18:23:18 +03:00
30448d2ec1 Add util::array - an N-dim array with variable bounds 2020-09-10 11:05:19 +03:00
195867ac31 Remove util::multidimensional_array 2020-09-10 11:04:57 +03:00
6499cf8779 Remove obsolete header 2020-09-10 11:04:42 +03:00
3136c3b239 Add an istream class that wraps raw data buffer 2020-08-30 21:27:10 +03:00
2d6b947809 Move pixmap from util to gfx 2020-08-30 08:44:53 +03:00
6225f89f88 Uniformize code style & do a few code rearrangements 2020-08-27 16:49:46 +03:00
549f2ada41 Add util, geom, cg, pcg & gfx libs 2020-08-27 13:36:16 +03:00