254 Commits

Author SHA1 Message Date
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
d98e14285b Fixed CPPDEFINES only being set for dependant projects but not mijin itself. 2023-11-18 22:19:52 +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
dabaf6d903 Added simple gdb pretty-printer (only StrideSpan and StrideSpanIterator for now). 2023-11-10 14:04:08 +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
2faae0e5ee Removed "sekiei" from LibConf. 2023-08-06 14:21:34 +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
97d68d31e8 Added is_type_member to check if a type is inside a variant or similar types. 2023-07-19 22:51:37 +02:00
3910f9638e Added Chain() type to chain iterables using pipes. Also fixed crash due to RangeRef actually storing a reference when it shouldn't. 2023-07-13 00:03:45 +02:00
adff35a26a Made std::span and std::string_view "RangeAdapterType"s so they can be passed by copy. Also added functions to pipe different iterable functions into each other (WIP). 2023-07-12 23:08:20 +02:00
ef5d78e1b1 Added replace() and chain() functions for generating replacing and chaining iterables. Also added a proxy type to allow combining different iteratables. 2023-07-12 21:44:04 +02:00
04520a5d35 Added more utility and fixed Flag type. 2023-07-08 11:16:37 +02:00
537229104d Data pool doesn't have any source... 2023-07-01 11:11:15 +02:00
c484d0fa9a Added MIJIN_SCOPE_EXIT and MIJIN_CONCAT macros. 2023-06-29 23:07:42 +02:00