Commit Graph

121 Commits

Author SHA1 Message Date
BlackMATov
d05de90e36 first version of ucast 2023-03-10 07:52:21 +07:00
BlackMATov
ae0d402fa2 fix internal class vs const class types resolving 2023-03-10 04:32:04 +07:00
BlackMATov
139f075d77 add recursively flag to get_xxx class type functions 2023-03-07 23:11:37 +07:00
BlackMATov
424b6f6736 optimize ambiguous cast checks 2023-03-06 21:29:19 +07:00
BlackMATov
de7e853360 fix ambiguous casts issues 2023-03-06 05:18:21 +07:00
BlackMATov
956293a9ae add free-standing try_invoke 2023-03-03 23:55:16 +07:00
BlackMATov
78c6773ced add is_direct_base_of and is_direct_derived_from 2023-03-03 22:36:06 +07:00
BlackMATov
f264391fc2 style fixes 2023-03-03 21:22:42 +07:00
BlackMATov
3465e961f2 add is_virtual_base_of trait 2023-03-03 21:22:21 +07:00
BlackMATov
aa587c6c12 simplify class cast bindings 2023-03-03 17:55:01 +07:00
BlackMATov
8e34cfdda1 add ambiguous conversions issue 2023-03-03 01:03:19 +07:00
BlackMATov
1b77d20666 add dev assets 2023-03-02 23:52:46 +07:00
BlackMATov
0c606a1c20 new non-recursive upcast system 2023-03-02 18:50:55 +07:00
BlackMATov
9194f7182e add embedded defer.hpp 2023-03-01 16:54:49 +07:00
BlackMATov
db163298e1 add an ambiguous conversion test 2023-02-25 16:52:17 +07:00
BlackMATov
4d3a6bd1c4 cast bench for the future 2023-02-21 00:51:00 +07:00
BlackMATov
3cd7898304 concepts cleanup 2023-02-19 04:03:26 +07:00
BlackMATov
bace3a2d88 using uresult as uvalue for invoke 2023-02-19 03:32:40 +07:00
BlackMATov
704aef878d rewrite global is_invocable_with to dynamic version 2023-02-19 02:59:52 +07:00
BlackMATov
cda2035321 uvalue's casts refactoring 2023-02-19 01:14:35 +07:00
BlackMATov
1d9248462d add uvalue::is 2023-02-18 21:30:27 +07:00
BlackMATov
793ca9f17d fast error_code access from uerror 2023-02-18 19:48:47 +07:00
BlackMATov
46ff71ea79 operator* and operator-> for uresult 2023-02-18 02:51:12 +07:00
BlackMATov
d6ba3d8ce4 fix try_ member and ctor calls 2023-02-18 01:57:54 +07:00
BlackMATov
e3b82ca382 rename "uvalue::get_as" to "uvalue::as" 2023-02-18 01:29:47 +07:00
BlackMATov
8730e11d3c remove all get_as<T>, try_invoke with uresult instead optional 2023-02-18 00:33:25 +07:00
BlackMATov
cbbf8dbe1f return is_valid instead is_empty 2023-02-17 23:27:02 +07:00
BlackMATov
36e76ccd93 use uerror in is_invokable_with functions 2023-02-17 23:11:47 +07:00
BlackMATov
72c4d54b60 fix recursive concepts (copy ctors on itself) 2023-02-17 15:08:44 +07:00
BlackMATov
2f3a6740b7 rewrite all "is_valid" methods to "is_empty" 2023-02-17 03:26:59 +07:00
BlackMATov
c222a3a6a3 rename uvalue::is_valid to has_value 2023-02-17 03:05:58 +07:00
BlackMATov
58c7a31af5 new uresult class for safe api 2023-02-17 03:03:17 +07:00
BlackMATov
17b1edee18 goodbye system_error, rename meta exception 2023-02-17 00:17:44 +07:00
BlackMATov
b38cb9057c more error codes for the future 2023-02-16 17:08:16 +07:00
BlackMATov
c0c81c80ac little uvalue fixes 2023-02-16 17:06:26 +07:00
BlackMATov
8ba7a71e6b insert_or_assign exception workarounds 2023-02-15 18:15:47 +07:00
BlackMATov
f61f7ebacc welcome error codes 2023-02-15 02:43:16 +07:00
BlackMATov
e6c7ea12bc disable pch 2023-02-14 04:49:58 +07:00
BlackMATov
7946451478 enable pch for meta cmake interfaces 2023-02-14 01:37:13 +07:00
BlackMATov
7a56ba97ad reduce the number of ::instance() calls 2023-02-14 00:18:16 +07:00
BlackMATov
4edc174ec3 exclude bench from CI 2023-02-13 18:38:14 +07:00
BlackMATov
c15b5aa50d bench: invoke_4 2023-02-13 16:42:09 +07:00
BlackMATov
b25fe5c6b0 add rttr for bench 2023-02-13 16:03:18 +07:00
BlackMATov
0f92a0c763 cleanup uarg casts 2023-02-13 02:25:50 +07:00
BlackMATov
4bd4b4e3d9 cleanup function/method calls 2023-02-12 14:13:10 +07:00
BlackMATov
8dbbf7417c reduce some boilerplate 2023-02-12 02:39:25 +07:00
BlackMATov
4bfde4b1fb safe_invoke, safe_get_as, safe_create 2023-02-12 02:15:27 +07:00
BlackMATov
deeaebd6a6 new uvalue safe api 2023-02-10 23:09:52 +07:00
BlackMATov
214920da44 replace some throws to asserts 2023-02-10 16:29:24 +07:00
BlackMATov
6661912b9b simple invoke bench 2023-02-10 11:07:47 +07:00