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.
...
Fortune for libexopt's current commit: Future blessing − 末吉
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&...)`.
...
(Pulled from dropped `boxed_is_boxed_value`.)
Fortune for libexopt's current commit: Small curse − 小凶
2 years ago
Avril
a7e4a3ffcc
Merge dynamic boxing improvements from error-handling in preperation for `boxed::is_boxed_value(T*) noexcept -> bool` implementation considerations.
...
Fortune for libexopt's current commit: Great curse − 大凶
2 years ago
Avril
b80da442b7
Redid formatting for `leven_diff()` prototype attributes.
...
Fortune for libexopt's current commit: Small curse − 小凶
2 years ago
Avril
1f92834108
Started rework of Error/Report/Panic interface.
...
Added Option<T>/std::optional<T> interop overloads.
Added Option<T> & Box<T> {static,dynamic}_cast() helper functions.
Fortune for libexopt's current commit: Middle blessing − 中吉
2 years ago
Avril
d4e45000bd
Started `util::maybe_uninit<T>`.
...
Added `assume_init()`, added explicit creation via explicitly named static methods move and in-place object construction
Fortune for libexopt's current commit: Future blessing − 末吉
2 years ago
Avril
399ba10c25
Started `boxed::Box<T>`.
...
Fortune for libexopt's current commit: Future blessing − 末吉
2 years ago
Avril
ee3893907c
Added `ptr::Unique<T>`: `NonNull<T>` that cannot be aliased.
...
Fortune for libexopt's current commit: Future small blessing − 末小吉
2 years ago
Avril
d4c494c6c1
Fixed spooky "confused" compiler fatal error (w/ no error messages) in `make_ordered_strign()`.
...
Fortune for libexopt's current commit: Future blessing − 末吉
2 years ago
Avril
7447615b48
Improved `NonNull` checking and added better mapping / pointer casting behaviour
...
Fortune for libexopt's current commit: Small blessing − 小吉
2 years ago
Avril
67c553903b
Added `optional` (port from fuxx) for Option<T&>, etc.
...
Started `either`: `Cow<T>` Rust-like copy-on-write reference/owned-value wrapper.
Fortune for libexopt's current commit: Half curse − 半凶
2 years ago
Avril
807008d965
Added `string_ord::make_dynamic()`: Returns an anonymous type derived from `OrderedString`.
...
Fortune for libexopt's current commit: Middle blessing − 中吉
2 years ago
Avril
ea8121058f
Added array literal initialisers for `string_ord<char[N]>`.
...
Fortune for libexopt's current commit: Half curse − 半凶
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`.
...
Fortune for libexopt's current commit: Blessing − 吉
2 years ago
Avril
1752c89056
`leven_diff()`: Added string literal overloads for comptime string comparison load and allocation reductions.
...
Fortune for libexopt's current commit: Blessing − 吉
2 years ago
Avril
b778b47ae8
Added working C & C++ leven_diff(), added `exopt::util::comptime_value()`.
...
TODO: Add default `util::comptime<>` parameters to constexpr `leven_diff()` for when size of strings are statically known.
Fortune for libexopt's current commit: Curse − 凶
2 years ago
Avril
388068bc1d
exopt::util::leven_diff(): Added working levenshtein distance algorithm.
...
Fortune for libexopt's current commit: Half blessing − 半吉
2 years ago