Commit Graph

  • bda2b01676 Added some utility concepts and structs for functional programming. master Patrick Wuttke 2026-02-17 10:26:49 +01:00
  • 1521e33569 Added utility trait for listing/iterating enum values at compile time. Patrick Wuttke 2026-02-17 10:26:21 +01:00
  • acf81b368a Added SortedVector class. Patrick Wuttke 2026-02-17 10:25:26 +01:00
  • d42eb12377 Added variant_index utility trait. Patrick Wuttke 2026-02-17 10:25:09 +01:00
  • 1bb64f0473 Added utility functions for modifying type argument lists. Patrick Wuttke 2026-02-17 10:24:34 +01:00
  • 3d9d62f3e3 Made VectorMap constexpr. Patrick Wuttke 2026-02-17 10:23:53 +01:00
  • 5e09113f22 Added getOr() and getOrThrow() utility functions to optional. Patrick Wuttke 2026-02-17 10:23:28 +01:00
  • 40840b0c7d Fixed some issues with exceptions thrown inside coroutines. Patrick Wuttke 2026-02-17 10:22:47 +01:00
  • 548786651e Added applyPack() and applyPackWithIndex() utility functions. Used to apply a function to each element in a parameter pack/tuple. Patrick Wuttke 2026-02-09 10:47:02 +01:00
  • 5b2928977a Throw Mijin Exception instead of std::runtime_error by default in ensure(). Patrick Wuttke 2026-02-09 10:43:52 +01:00
  • ad90299920 Added implicitly_convertible concept. Patrick Wuttke 2026-02-09 10:17:54 +01:00
  • dffff4b5ad Fixed FileStream move semantics. Patrick Wuttke 2026-02-09 10:17:29 +01:00
  • 96765103b7 Added VectorMap::entry() to retrieve entry at specified index. Added VectorMap::eraseAt() to erase entry/entries at a specific index. Patrick Wuttke 2026-02-09 10:16:56 +01:00
  • 6aeeba02b0 Added MemoryView::empty(). Patrick Wuttke 2026-02-09 10:15:48 +01:00
  • ced73e43af Logging: added default formatter and makeLogFormatter() utility function. Patrick Wuttke 2025-11-22 12:50:14 +01:00
  • eda08e509e (WIP) Process stream reimplementation. feature/process-stream-new Patrick Wuttke 2025-11-22 12:49:15 +01:00
  • 759174ed57 Added static tests for detect_or_t. Patrick Wuttke 2025-11-22 12:42:19 +01:00
  • 1172116d6b Signal: made reset() public and added parameter to reset without disconnecting the signal. Patrick Wuttke 2025-11-22 12:40:56 +01:00
  • c0e70341c9 Added getState() to TaskHandle for comparison. Patrick Wuttke 2025-11-22 12:40:00 +01:00
  • c54a87c90e Added SignalAutoToken. Patrick Wuttke 2025-11-04 17:51:02 +01:00
  • 5e71b0ff9e Added containsIgnoreCase() as shortcut for findIgnoreCase() != end(). Patrick Wuttke 2025-10-28 12:02:16 +01:00
  • 0e1964ba25 Logging: made LogMessage contain a string view instead of const char*, added BufferSink, changed message parameter of formatted parameter to be string instead of const char*. Patrick Wuttke 2025-10-28 12:01:50 +01:00
  • 7d4c782b0f Made MixinMemoryView constructor private and only callable by its implementation. Patrick Wuttke 2025-10-28 11:59:37 +01:00
  • 4a3895c0ad Some minor fixes/adjustments for coroutines. Patrick Wuttke 2025-10-28 11:58:30 +01:00
  • 1c7f043e6f Fixed compilation using GCC due to duplicate template parameter name. Patrick Wuttke 2025-09-22 21:47:05 +02:00
  • 9ae424e968 Merge branch 'master' of https://git.mewin.de/mewin/mijin2 Patrick Wuttke 2025-09-22 21:42:51 +02:00
  • 5a111df9ea Added void variant of Result. Patrick Wuttke 2025-09-22 21:42:43 +02:00
  • 32ccaad00a Added Stream::copyTo() and fixed read flag in FileStream::getFeatures(). Made throwOnError() throw Exception instead of std::runtime_error. Patrick Wuttke 2025-09-22 21:41:31 +02:00
  • 10d9b4c98f Made VectorMap find and access functions templates so you don't have to construct the key. Patrick Wuttke 2025-09-22 21:40:53 +02:00
  • cc20702249 Added [[maybe_unused]] to std::atexit() call to fix non-debug builds. Patrick Wuttke 2025-09-22 21:39:46 +02:00
  • 7d6fcc60fc Added support for forwarding exceptions via Future. Patrick Wuttke 2025-09-22 21:39:03 +02:00
  • 3891c0f8ce Added option to quoted() function to replace newlines. Patrick Wuttke 2025-09-21 12:36:41 +02:00
  • 7da2f7b7f4 Added note about getKnownFolder() to getHomeFolder() deprecation hint. Patrick Wuttke 2025-09-21 12:35:46 +02:00
  • bd06118b29 Normalize paths created by the RelativeFileSystemAdapter. Fixes issues with trailin "/.". Patrick Wuttke 2025-09-21 12:34:38 +02:00
  • 4d19752964 Added quoted() string helper. Patrick Wuttke 2025-08-30 00:31:27 +02:00
  • 0e988a4d9e Added member_pointer_of traits. Patrick Wuttke 2025-08-30 00:31:05 +02:00
  • a95885880f Added formatter for exceptions. Patrick Wuttke 2025-08-30 00:30:47 +02:00
  • d76e64c062 Fixed converting auf DynamicPointers, added wrapDynamic helper to simplify creating non-owning DynamicPointers. Patrick Wuttke 2025-08-30 00:30:09 +02:00
  • e704c082b7 Some fixes for logging, added MIJIN_LOG_IF and the DebugOutputLogSink. Patrick Wuttke 2025-08-30 00:29:16 +02:00
  • b44d6feb97 Added MIJIN_RTTI macro for detecting if RTTI is available. Patrick Wuttke 2025-08-30 00:28:19 +02:00
  • e91184ec82 Fixed current loop not being reset on exceptions. Patrick Wuttke 2025-08-30 00:25:16 +02:00
  • 680acdb332 Fixed compilation of boxed_object.hpp in non-debug builds. dev Patrick Wuttke 2025-07-25 00:51:53 +02:00
  • 3d507ddef7 Finally implemented object pools. Patrick Wuttke 2025-07-25 00:51:32 +02:00
  • d35140d278 Added missing template parameter. Patrick Wuttke 2025-07-17 23:47:00 +02:00
  • 933a36d992 Added formattable utility. Patrick Wuttke 2025-07-17 10:56:52 +02:00
  • d3659f11f7 Implemented getCPUTicks() and getCPUTicksPerSecond() for Windows. Patrick Wuttke 2025-07-17 10:56:39 +02:00
  • d207774868 Added missing include. Patrick Wuttke 2025-07-17 10:56:15 +02:00
  • 54d9cd327a Added undef for VOID. Patrick Wuttke 2025-07-17 07:51:19 +02:00
  • 93ef90aeb8 Added function_traits. Patrick Wuttke 2025-07-16 21:07:01 +02:00
  • ba6ffa6c42 Added getCPUTicks() and getCPUTicksPerSeconds() functions. Patrick Wuttke 2025-07-12 16:59:35 +02:00
  • 2cf270df84 Added MIJIN_FUNCNAME() macro. Patrick Wuttke 2025-07-12 16:59:09 +02:00
  • 9808fcf50e Removed unused MIJIN_FUNC() macro. Patrick Wuttke 2025-07-12 16:58:57 +02:00
  • e91924e049 Added FixedArrayOutputIterator and use it for logging without heap allocations. Patrick Wuttke 2025-07-12 16:57:20 +02:00
  • 79f49829d3 Added utility type to convert variant members via std::visit. Patrick Wuttke 2025-07-12 12:50:10 +02:00
  • 042e0d2465 Added explicit constructor for casting between related not-nullable pointers. Patrick Wuttke 2025-07-12 12:49:45 +02:00
  • 018c75a5ed First implementation of custom path type. Patrick Wuttke 2025-07-11 01:13:23 +02:00
  • 33bc48dd58 Added Path type (WIP). Patrick Wuttke 2025-07-10 02:16:39 +02:00
  • 51092bb4cb Added splitView() and splitLines() to string utility functions. Patrick Wuttke 2025-07-15 18:21:10 +02:00
  • 02e99bbc82 Made logger thread-safe and added filters. Patrick Wuttke 2025-07-14 17:16:24 +02:00
  • ad627b7c70 Added NotNullable::release() function. Patrick Wuttke 2025-07-14 17:16:09 +02:00
  • 4a9a60c7f5 Replaced default deleter used in DynamicPointer so it fits better with other functions. Patrick Wuttke 2025-07-14 17:15:25 +02:00
  • d8b03893b3 Merge branch 'master' of https://git.mewin.de/mewin/mijin2 Patrick Wuttke 2025-07-14 10:08:04 +02:00
  • 7939d458b3 Added Stream functions for reading and writing 0-terminated strings. Patrick Wuttke 2025-07-14 10:07:57 +02:00
  • b5546067a8 Added missing include. Patrick Wuttke 2025-07-14 10:07:37 +02:00
  • 9e572061da Added DEBUG to macros being undefed. Patrick Wuttke 2025-07-11 14:11:14 +02:00
  • d0be5f7739 Fixed use-after-move in TaskLoop::addTaskImpl() and some minor compilation problems. Patrick Wuttke 2025-07-10 02:16:29 +02:00
  • e6556c6f90 Fixed convertCharType when converting from wchar_t to char. Patrick Wuttke 2025-07-09 00:57:45 +02:00
  • addae96c91 Made Stream::readAsString() and Stream::c_readAsString() work with arbitrary std::basic_string instances. Patrick Wuttke 2025-07-09 00:57:19 +02:00
  • cf860392a5 Added missing copy assignment operator for ConstMemoryView. Patrick Wuttke 2025-07-08 00:35:12 +02:00
  • 8ad34427f3 Made TypelessBuffer allocator-aware and split some of its functionality into MemoryView type. Patrick Wuttke 2025-07-07 00:12:34 +02:00
  • 59780ed6de Fixed compilation of MemoryFileSystem if MIJIN_DEFAULT_ALLOCATOR is not copy-constructible. Patrick Wuttke 2025-07-06 12:37:45 +02:00
  • 888b0a16f7 Fixed use of MIJIN_CONFIG_HEADER. Patrick Wuttke 2025-07-06 12:37:06 +02:00
  • d29a025ec5 Properly constexpred and noexcepted BoxedObject. Patrick Wuttke 2025-07-03 09:10:31 +02:00
  • 40c0d888e6 Added std::hash for tuples, because why not. Patrick Wuttke 2025-07-02 23:10:30 +02:00
  • bf53622b19 Added missing construction and destruction of StackAllocatorSnapshotData, which is only required when MIJIN_STACK_ALLOCATOR_DEBUG is 2. Patrick Wuttke 2025-07-02 16:40:46 +02:00
  • 6090d5fc74 Implemented stacktrace collection for Windows. Patrick Wuttke 2025-07-02 16:39:26 +02:00
  • a1d7a63aba Added flusing to the stdio log sink. Patrick Wuttke 2025-07-02 16:39:02 +02:00
  • 1d32530be7 Added allReady() and getAll() functions for futures and c_allDone() with tasks for tasks. Patrick Wuttke 2025-07-01 18:19:38 +02:00
  • 973b62a348 Added some missing headers. Patrick Wuttke 2025-06-28 02:23:23 +02:00
  • 86f3790ce1 Added stack allocator snapshots. Patrick Wuttke 2025-06-26 16:55:33 +02:00
  • 1cbd435fbf Added missing Signal constructor taking const-qualified member functions. Patrick Wuttke 2025-06-25 00:45:40 +02:00
  • 573c431dbd Lots of windows fixes and some more improvements. Patrick Wuttke 2025-06-24 15:20:42 +02:00
  • 36a908ab8a Added StackAllocator type. Patrick Wuttke 2025-06-23 00:24:03 +02:00
  • a956560183 Made coroutines allocator-aware (let's hope this really works). Patrick Wuttke 2025-06-23 00:23:50 +02:00
  • 2fc03e4050 Made Signal allocator-aware. Patrick Wuttke 2025-06-23 00:21:46 +02:00
  • 94e94f02b6 Modified assertion macros so they evaluate to an empty instruction instead of nothing in non-debug builds. Patrick Wuttke 2025-06-23 00:21:24 +02:00
  • 7284d3d15f Added STL formatters for Stacktrace and Stackframe. Patrick Wuttke 2025-06-23 00:20:17 +02:00
  • 2b368c1d4f Added converting constructor for AllocatorDeleter. Patrick Wuttke 2025-06-23 00:19:30 +02:00
  • 9c4765dbaf Added converting constructors for NotNullable. Patrick Wuttke 2025-06-23 00:18:47 +02:00
  • 05bc3d5147 Added optional_base trait. Patrick Wuttke 2025-06-23 00:17:30 +02:00
  • 232a01eb28 Added alignUp() variant for pointers. Patrick Wuttke 2025-06-23 00:16:52 +02:00
  • c9c4eff130 Added (very limited) support for ansi coloring to log formatter. Patrick Wuttke 2025-06-21 17:01:37 +02:00
  • 8a9df15dd0 CLang advertises C++-26 features but warns us when we use them :/. Patrick Wuttke 2025-06-21 15:07:12 +02:00
  • 465a97ded5 Removed logger.cpp again. Patrick Wuttke 2025-06-21 15:06:39 +02:00
  • b91eb34789 Massively overengineered logger to support different character types. Patrick Wuttke 2025-06-21 14:16:19 +02:00
  • 061c58ef41 Added more stuff like Logging, DynamicPointer, utilities for using STL allocators and NotNullable. Patrick Wuttke 2025-06-21 08:07:57 +02:00
  • 17bd408d3c Fixed test and CLang compilation. Patrick Wuttke 2025-05-20 21:15:51 +02:00
  • 45623e5273 Fixed GCC compilation. Patrick Wuttke 2025-05-17 11:14:03 +02:00
  • 48fd006819 Added MemoryFileSystemAdapter. Patrick Wuttke 2025-03-28 11:44:28 +01:00
  • d7f968db3a Deprecated FileSystemAdapter::getHomeFolder(). Patrick Wuttke 2025-03-28 11:44:15 +01:00