Commit Graph

106 Commits

Author SHA1 Message Date
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
BlackMATov
6c4d4cdf73 add google benchmark for the future 2023-02-09 23:29:24 +07:00
BlackMATov
9a1a2cf8cb fix gcc warnings 2023-02-09 19:06:39 +07:00
BlackMATov
937dbe20c8 move meta_invoke to top headers 2023-02-09 18:40:53 +07:00
BlackMATov
874fae2bab state and type detail traits 2023-02-09 17:58:59 +07:00
BlackMATov
81c829d5a2 new META_HPP_THROW_IF macro 2023-02-09 02:43:01 +07:00
BlackMATov
176813304e overridable assert macro 2023-02-09 01:37:40 +07:00
BlackMATov
c452ff532a clean up indices 2023-02-08 17:26:43 +07:00
BlackMATov
02a3438ec6 return all types by value in public api 2023-02-08 15:25:34 +07:00
BlackMATov
178a4486cf return an empty type for empty uvalues 2023-02-08 06:22:45 +07:00
BlackMATov
24657755eb more readable kind names 2023-02-08 05:29:19 +07:00
BlackMATov
c89c169cc2 return type/state explicit ctors from data for great good 2023-02-08 04:53:20 +07:00
BlackMATov
ca7570897b template ctor for any_type 2023-02-07 23:22:43 +07:00
BlackMATov
fa68b6fb01 template is/as for any_type 2023-02-07 02:11:19 +07:00
BlackMATov
23599f8104 constructor/destructor_type change get_owner_type return type 2023-02-07 01:46:58 +07:00
BlackMATov
52d62c73b4 string ilist alias 2023-02-05 23:52:58 +07:00