Commit Graph

17 Commits (master)

Author SHA1 Message Date
Avril e78c765f45
Added better null checks and assumptions. removed `is_boxed()` meta-polymorphism. added Box<T> children (non-virtual) to perform unsafe operations that may invalidate Box<T> invariant.
2 years ago
Avril 3bdd503cb2
Changed `NullException` to add optional type information. Added constexpr util::type_of<T>(), added constexpr `std::string_view` concatenation: `util::concat_str_v<std::string_view...>`, added `std::string_view util::concat_strings(auto const&...)`.
2 years ago
Avril a7e4a3ffcc
Merge dynamic boxing improvements from error-handling in preperation for `boxed::is_boxed_value(T*) noexcept -> bool` implementation considerations.
2 years ago
Avril b80da442b7
Redid formatting for `leven_diff()` prototype attributes.
2 years ago
Avril 1f92834108
Started rework of Error/Report/Panic interface.
2 years ago
Avril d4e45000bd
Started `util::maybe_uninit<T>`.
2 years ago
Avril 399ba10c25
Started `boxed::Box<T>`.
2 years ago
Avril ee3893907c
Added `ptr::Unique<T>`: `NonNull<T>` that cannot be aliased.
2 years ago
Avril d4c494c6c1
Fixed spooky "confused" compiler fatal error (w/ no error messages) in `make_ordered_strign()`.
2 years ago
Avril 7447615b48
Improved `NonNull` checking and added better mapping / pointer casting behaviour
2 years ago
Avril 67c553903b
Added `optional` (port from fuxx) for Option<T&>, etc.
2 years ago
Avril 807008d965
Added `string_ord::make_dynamic()`: Returns an anonymous type derived from `OrderedString`.
2 years ago
Avril ea8121058f
Added array literal initialisers for `string_ord<char[N]>`.
2 years ago
Avril 7ce1fd2ad0
leven.h: C++ interace: Added `string_ord<S>`: Compares strings based on levenshtein distaence, and `sim_map<T,S={}>`: an ordered map where the key is of `string_ord<S>` and the value is `T`.
2 years ago
Avril 1752c89056
`leven_diff()`: Added string literal overloads for comptime string comparison load and allocation reductions.
2 years ago
Avril b778b47ae8
Added working C & C++ leven_diff(), added `exopt::util::comptime_value()`.
2 years ago
Avril 388068bc1d
exopt::util::leven_diff(): Added working levenshtein distance algorithm.
2 years ago