Commit Graph

272 Commits

Author SHA1 Message Date
Deukhoofd 29ac434679
Adds implicit cast to raw pointer to ScopedPtr.
continuous-integration/drone/push Build is passing Details
2021-03-27 11:08:09 +01:00
Deukhoofd ce1268b1de
Adds OptionalScopedPtr, made ScopedPtr non nullable, fixes some APIs on the optional pointer variants.
continuous-integration/drone/push Build is passing Details
2021-03-27 11:03:41 +01:00
Deukhoofd 47ee3a0295
When we were doing STATICC we were linking libdw dynamically, still requiring many dependencies. THis switches to libbfd, which should massively reduce the number of required libraries.
continuous-integration/drone/push Build is passing Details
2021-03-26 13:37:01 +01:00
Deukhoofd 12f643a80e
Style fixes.
continuous-integration/drone/push Build is passing Details
2021-03-07 10:15:34 +01:00
Deukhoofd c1917c6f77
Adds misc macro NO_COPY_OR_MOVE, which allows you to delete copy and move constructors and assignment operators.
continuous-integration/drone/push Build is passing Details
2021-03-07 09:54:55 +01:00
Deukhoofd 95266f71ba
Lots of cleanups to get stacks properly working in all cases. 2020-12-23 12:04:20 +01:00
Deukhoofd 0e49c58647
Delete comparison with nullptr for non-null pointers.
continuous-integration/drone/push Build is passing Details
2020-12-13 11:51:47 +01:00
Deukhoofd 90bb8d54b6
Rename Assert.hpp --> Ensure.hpp, style fixes.
continuous-integration/drone/push Build is passing Details
2020-12-13 11:45:00 +01:00
Deukhoofd 4e854516c1
Rename Assert macro to Ensure, clean up exception to be in line with THROW.
continuous-integration/drone/push Build is passing Details
2020-12-13 11:41:41 +01:00
Deukhoofd 4466aeeee6
Fixes OptionalBorrowedPtr casts.
continuous-integration/drone/push Build is passing Details
2020-12-12 13:50:09 +01:00
Deukhoofd 96315cb857
Rework Dictionary::TryGet to use std::optional.
continuous-integration/drone/push Build is passing Details
2020-12-12 12:53:47 +01:00
Deukhoofd 362e4bf59b
Fixes inequality with raw pointer with smart pointers being inverted.
continuous-integration/drone/push Build is passing Details
2020-12-12 12:10:37 +01:00
Deukhoofd 7ec2a3f2b0
Fixes naming.
continuous-integration/drone/push Build is passing Details
2020-12-12 11:57:47 +01:00
Deukhoofd b909fc720a
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-12-12 11:56:13 +01:00
Deukhoofd a972162d6e
Adds OptionalUniquePtrList
continuous-integration/drone/push Build is passing Details
2020-12-12 11:53:32 +01:00
Deukhoofd 9f064c1e25
Fixes optional pointers.
continuous-integration/drone/push Build is passing Details
2020-12-12 11:37:19 +01:00
Deukhoofd f704a6c2f7
Fixes copy constructor in OptionalBorrowedPtr being broken.
continuous-integration/drone/push Build is passing Details
2020-12-12 11:30:22 +01:00
Deukhoofd 5ef9d5f6fc
Fixes assignment of raw pointers to smart pointers being broken.
continuous-integration/drone/push Build is passing Details
2020-12-11 17:27:58 +01:00
Deukhoofd 1119012158
Removes Result class.
continuous-integration/drone/push Build is passing Details
2020-12-11 17:16:36 +01:00
Deukhoofd e35129ceed
Fixes destructor.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:48:07 +01:00
Deukhoofd 577f105c61
Result destructor for _errorMessage.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:42:58 +01:00
Deukhoofd fdfd5f05c0
Adds copy operators on Result.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:38:38 +01:00
Deukhoofd e3853bf290
Implicitly cast result value to OK result with given value.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:25:18 +01:00
Deukhoofd 6f932f375f
Fixes style.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:19:36 +01:00
Deukhoofd 880f476034
Fixes specialization error
continuous-integration/drone/push Build is passing Details
2020-12-11 16:19:18 +01:00
Deukhoofd 3b4ba7c82b
Add trivial constructors to pointers.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:14:12 +01:00
Deukhoofd f7a161c690
Adds new result class to show a functions success or failure.
continuous-integration/drone/push Build is passing Details
2020-12-11 16:02:18 +01:00
Deukhoofd 0116ed8f4c
Fix specialization error.
continuous-integration/drone/push Build is passing Details
2020-12-11 15:37:46 +01:00
Deukhoofd 26fea2ac20
Reorganise memory model to make it clear Memory.hpp should be referenced.
continuous-integration/drone/push Build is passing Details
2020-12-11 15:29:27 +01:00
Deukhoofd c4a4aedb04
Even more documentation.
continuous-integration/drone/push Build is passing Details
2020-12-11 15:25:24 +01:00
Deukhoofd d133b0a6fb
Adds documentation and fixes a couple issues.
continuous-integration/drone/push Build is failing Details
2020-12-11 15:22:21 +01:00
Deukhoofd efdce7b74c
Several fixes for new memory model.
continuous-integration/drone/push Build is failing Details
2020-12-11 15:12:17 +01:00
Deukhoofd 0e6ae18a32
Reworked memory model.
continuous-integration/drone/push Build is failing Details
2020-12-11 14:58:16 +01:00
Deukhoofd 09bc55ec94
Allow disabling signal handling, turn signal handling off by default.
continuous-integration/drone/push Build is failing Details
2020-10-18 17:18:27 +02:00
Deukhoofd c445536aed
Fixed issue preventing THROW macro having easy access to sstream.
continuous-integration/drone/push Build is passing Details
2020-10-15 18:05:51 +02:00
Deukhoofd c3606c25f6
Replaces some overrides with final for minor performance gains.
continuous-integration/drone/push Build is passing Details
2020-10-15 17:54:06 +02:00
Deukhoofd edaa9f496d
Modify THROW macro to use a constexpr function for file name, instead of macro.
continuous-integration/drone/push Build is passing Details
This prevents potential warnings (such as clang-tidy's "cppcoreguidelines-pro-bounds-pointer-arithmetic") from showing up when using this macro.
2020-10-09 13:48:21 +02:00
Deukhoofd 5fcebd4d4d
Implements faster hash mechanic for StringView.
continuous-integration/drone/push Build is passing Details
2020-10-09 13:23:32 +02:00
Deukhoofd 51c7ba1c50
Use a precompiled header for many std includes.
continuous-integration/drone/push Build is passing Details
2020-09-25 11:06:55 +02:00
Deukhoofd 74d7e23056
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-09-24 21:02:22 +02:00
Deukhoofd 2e93cd65c5
Remove constevals for now, until mingw32-w64 supports it on the build server.
continuous-integration/drone/push Build is passing Details
2020-09-24 20:54:11 +02:00
Deukhoofd f20b55b0d5
Lots more documentation.
continuous-integration/drone/push Build is failing Details
2020-09-24 20:40:21 +02:00
Deukhoofd 31b63d56db
Lots of documentation.
continuous-integration/drone/push Build is passing Details
2020-09-22 19:32:40 +02:00
Deukhoofd 3f4b026071
Header cleanup.
continuous-integration/drone/push Build is failing Details
2020-09-21 14:01:19 +02:00
Deukhoofd fedb27790e
Fixed checks for less than 0 on List indexing, as it was always false.
continuous-integration/drone/push Build is passing Details
2020-08-20 13:27:39 +02:00
Deukhoofd 675407d7f5
Fixed Windows issues.
continuous-integration/drone/push Build is passing Details
2020-08-20 13:21:39 +02:00
Deukhoofd 8fecd2079a
Remove Windows signal handling for now, as it's causing issues.
continuous-integration/drone/push Build is failing Details
2020-08-20 13:19:11 +02:00
Deukhoofd a91a57aa0a
Style fix
continuous-integration/drone/push Build is passing Details
2020-08-18 19:18:38 +02:00
Deukhoofd 5eb95805f6
Further Windows fixes.
continuous-integration/drone/push Build is passing Details
2020-08-18 19:15:00 +02:00
Deukhoofd 16b083d927
Tweaks to make Windows happy again hopefully
continuous-integration/drone/push Build is failing Details
2020-08-18 18:50:03 +02:00
Deukhoofd c2655568d7
Fixes for Windows.
continuous-integration/drone/push Build is failing Details
2020-08-18 18:44:06 +02:00
Deukhoofd cfcdbfe984
Support for custom signal callbacks.
continuous-integration/drone/push Build is failing Details
2020-08-18 18:41:18 +02:00
Deukhoofd d59c13a34d
Allow disabling pretty traces and remove dependency on libdw.
continuous-integration/drone/push Build is passing Details
2020-08-17 20:08:23 +02:00
Deukhoofd a665ad3eaf
Set up macros for easier exception throwing.
continuous-integration/drone/push Build is passing Details
2020-08-17 12:02:42 +02:00
Deukhoofd a64c2aaca8
Trim whitespace of snippets in stack traces.
continuous-integration/drone/push Build is passing Details
2020-08-16 19:45:19 +02:00
Deukhoofd 98ff6b3b69
Improves exception stack traces by including inlined functions, and displaying snippets of code.
continuous-integration/drone/push Build is passing Details
2020-08-16 19:15:45 +02:00
Deukhoofd 5c9e58d032
Style fixes.
continuous-integration/drone/push Build is failing Details
2020-08-16 17:34:58 +02:00
Deukhoofd 73e67b8c5d
Fixed define flag.
continuous-integration/drone/push Build is passing Details
2020-08-16 17:31:11 +02:00
Deukhoofd c58bc6f785
Hide some functions that aren't used by Windows from the Windows build.
continuous-integration/drone/push Build is failing Details
2020-08-16 17:27:09 +02:00
Deukhoofd 620248f329
Include debug symbols in Release build, rework exception stack trace.
continuous-integration/drone/push Build is failing Details
2020-08-16 16:59:13 +02:00
Deukhoofd 5a14c712d2
Style fix
continuous-integration/drone/push Build is passing Details
2020-08-16 10:43:54 +02:00
Deukhoofd 20a7dc55a0
Return a value when stacktrace is empty.
continuous-integration/drone/push Build is passing Details
2020-08-16 10:41:10 +02:00
Deukhoofd 9726920b7f
Fixes for Windows.
continuous-integration/drone/push Build is passing Details
2020-08-15 16:14:33 +02:00
Deukhoofd 7de12d53b5
Implements noexcept copy constructor for Exception. 2020-08-15 16:14:06 +02:00
Deukhoofd f158dbf8a2
Throw all exceptions with Arbutils exception. 2020-08-15 14:50:17 +02:00
Deukhoofd 168c45cb3b
Further fixes for Exception class on Windows.
continuous-integration/drone/push Build is failing Details
2020-08-15 14:25:27 +02:00
Deukhoofd c7d18db8b7
Completely not include the stacktrace on Windows.
continuous-integration/drone/push Build is failing Details
2020-08-15 14:22:32 +02:00
Deukhoofd e778b61839
Don't use stacktrace on Windows.
continuous-integration/drone/push Build is failing Details
2020-08-15 14:19:36 +02:00
Deukhoofd 1dee4cd4a8
Better handling for Exception stack trace testing.
continuous-integration/drone/push Build is failing Details
2020-08-15 13:59:10 +02:00
Deukhoofd 5ac7654be1
Add option to get depth of stack trace.
continuous-integration/drone/push Build is failing Details
2020-08-15 13:48:34 +02:00
Deukhoofd f29e111b78
Support new exception type with stack trace.
continuous-integration/drone/push Build is failing Details
2020-08-15 13:31:16 +02:00
Deukhoofd fb6b04bf03
Style Fix
continuous-integration/drone/push Build is passing Details
2020-08-10 17:22:47 +02:00
Deukhoofd 6e7a28d754
Support for swapping in a UniquePtrList.
continuous-integration/drone/push Build is passing Details
2020-08-10 17:20:37 +02:00
Deukhoofd 08952c86d0
Support for passing parameters to list to construct item in list.
continuous-integration/drone/push Build is passing Details
2020-08-09 10:47:41 +02:00
Deukhoofd 74ebb40afc
Fixes build.
continuous-integration/drone/push Build is passing Details
2020-08-08 12:20:20 +02:00
Deukhoofd 0d9ea1d3a3
Changes empty static StringView, as it caused conflicts with older Empty bool checker.
continuous-integration/drone/push Build is failing Details
2020-08-08 12:10:25 +02:00
Deukhoofd f330e8a9e0
Fixes naming.
continuous-integration/drone/push Build is passing Details
2020-08-08 11:41:21 +02:00
Deukhoofd d8c3fe1436
Add support for simple empty StringView.
continuous-integration/drone/push Build is passing Details
2020-08-08 11:26:46 +02:00
Deukhoofd 5fda89bc72
Add support for setting and taking ownership on a pointer in UniquePtrList.
continuous-integration/drone/push Build is passing Details
2020-07-25 14:28:00 +02:00
Deukhoofd 4f5ae70634
Cleanup for the cmake file.
continuous-integration/drone/push Build is failing Details
2020-07-17 12:15:32 +02:00
Deukhoofd eb3e174877
Reset to before c++20 features that required clang.
continuous-integration/drone/push Build is passing Details
2020-07-12 15:06:20 +02:00
Deukhoofd 84052a2d94
Make StringViewLiteral use ConstEval
continuous-integration/drone/push Build is failing Details
2020-07-10 11:07:34 +02:00
Deukhoofd 950464ae79
Implements piping StringView into streams.
continuous-integration/drone/push Build is passing Details
2020-07-08 13:28:43 +02:00
Deukhoofd 97b15650f1
Intialize StringView fields to default values/
continuous-integration/drone/push Build is passing Details
2020-07-04 15:33:59 +02:00
Deukhoofd 25772e7d5a
Remove constexpr from non-constexpr function.
continuous-integration/drone/push Build is passing Details
2020-07-04 15:04:31 +02:00
Deukhoofd d3aacee0ef
Replace StringView with shared_ptr.
continuous-integration/drone/push Build is failing Details
2020-07-04 14:59:56 +02:00
Deukhoofd 5994299baa
Further tweaks to StringViews.
continuous-integration/drone/push Build is passing Details
2020-06-27 15:15:13 +02:00
Deukhoofd 9f5b8e9c83
Removed std::string_view ctor on StringView.
continuous-integration/drone/push Build is passing Details
2020-06-27 14:24:43 +02:00
Deukhoofd 083c00f85e
Changes for how Literal changes to normal StringView.
continuous-integration/drone/push Build is passing Details
2020-06-27 14:16:15 +02:00
Deukhoofd 773e765c83
Slight rework of StringView.
continuous-integration/drone/push Build is passing Details
2020-06-27 14:02:35 +02:00
Deukhoofd 030f82d34f
Reset pointer on charholder to prevent multiple deletions.
continuous-integration/drone/push Build is passing Details
2020-06-27 13:59:01 +02:00
Deukhoofd 49b5e2cfe9
Fixes Windows build.
continuous-integration/drone/push Build is passing Details
2020-06-27 13:35:29 +02:00
Deukhoofd f64224131b
Tweaks for StringView to make the backing value the owner of the string.
continuous-integration/drone/push Build is failing Details
2020-06-27 13:27:17 +02:00
Deukhoofd 544c541bc3
Remove dereference operator as it just causes issues.
continuous-integration/drone/push Build is passing Details
2020-06-26 17:49:42 +02:00
Deukhoofd 7da8a46c45
Hopefully fixes issues with incomplete types in BorrowedPtrs.
continuous-integration/drone/push Build is passing Details
2020-06-26 17:42:43 +02:00
Deukhoofd d3c9998afa
Fixes for dereference operator.
continuous-integration/drone/push Build is passing Details
2020-06-26 17:31:52 +02:00
Deukhoofd c08224ed26
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-06-26 17:18:50 +02:00
Deukhoofd 7fe8c80141
Fixed issue where the dereferencing function broke compilation on some compilers.
continuous-integration/drone/push Build is passing Details
2020-06-26 17:17:06 +02:00
Deukhoofd 72aad2a5e3
Fixed dereference operators being noexcept.
continuous-integration/drone/push Build is passing Details
2020-06-26 16:31:33 +02:00
Deukhoofd 4ffe9f10a3
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-06-26 16:27:17 +02:00