61 Commits

Author SHA1 Message Date
b10f250945 Added simple (albeit in many cases suboptiomal) c_sleep() method for coroutines. 2024-06-23 12:19:57 +02:00
e586698fb6 Added bits_t member to BitFlags and is_bitflags_v helper constant. 2024-06-10 23:11:54 +02:00
c214398fac Deprecated readString() method so it is always clear if you want to read a binary encoded string or the file as string. Also added possibility to open a memory stream from any span. 2024-06-10 23:11:25 +02:00
463f4ca19c Fixed some compiler errors. 2024-05-17 20:29:46 +02:00
80310f3c5c Added some constructors and an empty() check to path references. 2023-12-29 23:32:14 +01:00
1d14c1f3ff Added comparator and hash function for path references. 2023-12-23 12:10:07 +01:00
83d3ce9f1f Use copies of strings for the cache instead of string_views. Apparently my assumption was wrong. 2023-12-19 22:41:40 +01:00
de07cf91bc Added bool conversion for Name. 2023-12-18 17:53:52 +01:00
faf4489b92 Added isLocked() to task mutex. 2023-12-18 17:53:40 +01:00
2668e69ae1 Added signal_token_t to make it easier to store tokens. 2023-12-17 02:36:24 +01:00
bb4d31747a Added function to convert StrideSpan to regular span, if possible. 2023-12-16 10:25:58 +01:00
8ce77cf8bf Fixed tangent generation and added Vector4 type. 2023-12-15 02:20:50 +01:00
b692425f83 Added TaskMutex header. 2023-12-10 18:42:20 +01:00
1d8ef0bac8 Added some basic geometry functionality (only tangent generation for now). 2023-12-07 17:16:08 +01:00
b89f19ed98 Use inline assembly for MIJIN_TRAP() so the debugger stops at the exact location. Only works for x64, but that's currently my only target. 2023-12-07 17:15:42 +01:00
0e877f4769 Added getActiveTasks() function to count how many tasks are running or suspended. 2023-12-07 17:14:45 +01:00
5e236dae00 Added TypeDef. 2023-12-02 10:59:31 +01:00
6cac3a655b Fixed StrideSpan operator[] for const spans. 2023-11-26 22:42:33 +01:00
27b163f4db Added libfmt support for Name. 2023-11-26 15:13:06 +01:00
c44350269a Added code to capture stacktrace whenever an exception is thrown. 2023-11-26 11:49:23 +01:00
adbb4fd0d1 Disabled coroutine debug info by default as it is fucking expensive. 2023-11-24 22:01:08 +01:00
45845fa31b Fixed crashes when capturing stacktrace from multiple threads. 2023-11-24 22:00:47 +01:00
4f7e8ae39f Fixed StrideSpan::size() for default-constructed spans and added empty check + operatators. 2023-11-24 13:08:39 +01:00
ce7a7b15c7 Added utilty functions to read an entire file. 2023-11-19 23:45:35 +01:00
0e90cabb7e Added PathReference utility type. 2023-11-19 23:45:14 +01:00
60707421c8 Fixed chaining iterators for const ranges. 2023-11-19 20:04:46 +01:00
ba8c1ebe1e Moved the creation stack to the shared state so it is retrievable, added comparison operators to TaskHandle and added getCurrentTask() function to retrieve the handle of the current task. 2023-11-19 20:04:19 +01:00
803f1463dc Made the message queue iterable. 2023-11-19 20:03:24 +01:00
065181fc69 Also cancel sub-tasks (those that are awaited by this one) when cancelling a task. 2023-11-18 22:20:47 +01:00
4dfc116830 Added zip() functionality for combining iterators. 2023-11-16 23:39:49 +01:00
a92148aac1 Added libfmt formatters for stacktrace. 2023-11-16 23:39:33 +01:00
55486b49dc Fixed optional move constructor for references. 2023-11-16 23:39:19 +01:00
5aecd20c56 Use our optional type for storing results of the future. 2023-11-16 23:38:53 +01:00
5eb7864928 Moved TaskCancelled out of impl namespace and removed errornous noexcept. 2023-11-16 00:36:24 +01:00
ef6830e01c Added operator-> to optional type. 2023-11-16 00:35:18 +01:00
121e8a84f5 Added type filtering iterator. 2023-11-16 00:35:18 +01:00
0b8772c952 Added (pretty limited) support for uncaught exceptions in coroutines. 2023-11-13 11:34:47 +01:00
dff7b30b2d Added missing "std::". 2023-11-13 11:34:22 +01:00
463890cfcb Added Signal::connect() function that takes an object + function pointer. 2023-11-12 19:59:18 +01:00
7c1dd29a85 Added operators to BoxedObject, fixed MappintIterator for reference types and fixed signature of custom assertion and error handlers. 2023-11-12 15:25:46 +01:00
2cc0f74d06 Added result type and stacktrace capabilities. 2023-11-11 12:41:47 +01:00
ae5e73aa58 Fixed coroutine cleanup. 2023-11-11 01:37:59 +01:00
938135768b Added StrideSpan type (a span with a stride). Added makeSpan() function to TypelessBuffer. 2023-11-10 01:36:48 +01:00
617e051943 Added validity check to task handles and fixed some clang-tidy warning in MIJIN_ASSERT. 2023-11-03 23:17:48 +01:00
89bb110116 Added cancelling (and some exception handling) for coroutines. 2023-11-03 00:48:13 +01:00
54c63cfe69 Removed _debugBreak() again, as there is already MIJIN_TRAP(). 2023-11-01 23:53:50 +01:00
522e6534bf Added _debugBreak() macro. 2023-11-01 16:41:03 +01:00
cff5879572 Added filter() and some more iterator utilities. 2023-08-21 01:48:43 +02:00
a1f1717e22 Added ProcessStream to for running processes (on Linux) and streaming their output.
Added map() function for creating a mapping iterator.
Added mijin::pipe types for map() and join().
2023-08-06 13:52:51 +02:00
1549ef27a7 Fixed some more or less valid clang and clang-tidy errors. 2023-08-05 17:47:59 +02:00