10 Commits (master)

Author SHA1 Message Date
Avril da8429e49c
Fixed test name-demangler relying on faulty string information.
2 years ago
Avril 8dea5823a5
Added `opaque_handle::[try_]get_type()`: Get an `std::type_info` if possible.
2 years ago
Avril 95e6cae2ce
Added `opaque_handle.is_type()`, added `make_opaque_object_handle<T, Args...>()` to construct an `opaque_handle` from a new object T in-place.
2 years ago
Avril 7d55dcf124
With fully incomplete types, `unsafe_cast` is used instead of `try_cast` in `operator [const] T*()`.
2 years ago
Avril 4f1481b589
Added rudimentary type-checking to make `try_cast` work. However, this breaks use with incomplete types, which is not acceptable...
2 years ago
Avril 437037e8c6
Fix segfault in `opaque_handle` copy testing
2 years ago
Avril d0558318b0
Tested all variants of `make_opaque_handle()`, they all work. `opaque_handle` workable in a project; however. `try_cast()` does not work correctly and will not return `nullptr` if the types are wrong. TODO: Fixing this will require a refactor to use another inheritance graph of objects instead of `void*`, however, this is intended for work using C interfaces, so it"s not a high priority for it to work on polymorphic types.
2 years ago
Avril e8813d52eb
All `make_opaque_handle()` functions cause compiler segfault at `constexpr bool is_nothrow`; they should be changed to #define macros.
2 years ago
Avril 742aa072ec
`make_opaque_handle()` causes compiler to segfault when defining constexpr local shorthand for local class"s `noexcept`s: `is_nothrow`
2 years ago
Avril 70d92c60b1
Initial commit
2 years ago