Commit Graph

247 Commits

Author SHA1 Message Date
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
Deukhoofd e52b824a51
Mark StringView and StringViewLiteral as final.
continuous-integration/drone/push Build is passing Details
2020-06-26 16:25:07 +02:00
Deukhoofd 57f2d15723
Revert "Add virtual destructor to BasicStringView."
continuous-integration/drone/push Build is passing Details
This reverts commit 94fec63c
2020-06-26 16:20:46 +02:00
Deukhoofd 94fec63c1b
Add virtual destructor to BasicStringView.
continuous-integration/drone/push Build is failing Details
2020-06-26 16:17:19 +02:00
Deukhoofd 088f66c385
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-06-26 15:58:42 +02:00
Deukhoofd abca51d331
Large rework of the project, specifically the String classes.
continuous-integration/drone/push Build is passing Details
2020-06-26 15:56:00 +02:00
Deukhoofd 8eba3b28ff
Add dereference operator for BorrowedPtr.
continuous-integration/drone/push Build is passing Details
2020-06-26 13:13:46 +02:00
Deukhoofd d547046752
Assert BorrowedPtr is not null when trying to dereference it.
continuous-integration/drone/push Build is passing Details
2020-06-26 13:12:58 +02:00
Deukhoofd f59ec6c957
Follow code style with noexcept, add Const() function to BorrowedPtr to return a const pointer of itself.
continuous-integration/drone/push Build is passing Details
2020-06-20 17:45:41 +02:00
Deukhoofd 893aa969d5
Make BorrowedPtr hashable.
continuous-integration/drone/push Build is passing Details
2020-06-02 16:03:47 +02:00
Deukhoofd 4323e59ed4
Further fixes for Remove function on UniquePtrList
continuous-integration/drone/push Build is passing Details
2020-06-02 14:40:59 +02:00
Deukhoofd 44fc403fb6
Fixes for Remove function on UniquePtrList
continuous-integration/drone/push Build is passing Details
2020-06-02 14:28:09 +02:00
Deukhoofd 5196bed8aa
Implement Remove function for UniquePtrList.
continuous-integration/drone/push Build is passing Details
2020-06-02 13:57:40 +02:00
Deukhoofd ad2d3be7e4
Add iterator for const version of UniquePtrList.
continuous-integration/drone/push Build is passing Details
2020-05-31 18:50:22 +02:00
Deukhoofd a3a0859b94
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-05-31 17:16:20 +02:00
Deukhoofd 8ecf765ead
Make retrieve operation a const.
continuous-integration/drone/push Build is passing Details
2020-05-31 17:06:04 +02:00
Deukhoofd 262156fbd2
Allow initialization of UniquePtrList from vector of pointers.
continuous-integration/drone/push Build is passing Details
2020-05-31 16:58:45 +02:00
Deukhoofd bfe1fcc805
Style fixes.
continuous-integration/drone/push Build is passing Details
2020-05-31 16:40:33 +02:00
Deukhoofd b7f1812153
Helper collection class that functions as list of unique pointers.
continuous-integration/drone/push Build is passing Details
2020-05-31 16:37:49 +02:00
Deukhoofd 0b740ee24d
Fixed cast functions on BorrowedPtr being invalid.
continuous-integration/drone/push Build is passing Details
2020-05-26 19:40:08 +02:00
Deukhoofd 90bda57d79
Renamed borrowed ptr to be in line with other types.
continuous-integration/drone/push Build is passing Details
2020-05-26 17:39:27 +02:00
Deukhoofd c8ca951dd8
Reduce namespace length further 2020-05-26 17:36:39 +02:00
Deukhoofd 3dc96de34b
Change namespace name so it's a lot less verbose.
continuous-integration/drone/push Build is passing Details
2020-05-26 17:21:08 +02:00
Deukhoofd 2ae108517d
Support for easy type casting from borrowed_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-26 17:18:12 +02:00
Deukhoofd f1ebfd78f6
Mark several more borrowed_ptr functions as const.
continuous-integration/drone/push Build is passing Details
2020-05-26 14:01:52 +02:00
Deukhoofd a84c7ae45c
Implements assignment, some tweaks for borrowed_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-26 13:44:06 +02:00