Michele Caini
d392eba4a0
test: code coverage
2021-09-22 16:49:42 +02:00
Michele Caini
799dec4f1c
sparse_set: suppress a warning due to -Wreorder
2021-09-22 16:41:40 +02:00
Michele Caini
11df6ec927
type_id: cannot have a static variable in a constexpr function (right msvc?)
2021-09-22 16:38:41 +02:00
Michele Caini
03e363f5d9
any: added the ::assign function to copy/move assign the wrapped variable
2021-09-22 16:27:56 +02:00
Michele Caini
39211889b0
any ( close #782 ):
...
* make const type_info * a first citizen
* further reduce vtable size
2021-09-22 12:48:25 +02:00
Michele Caini
db44549276
type_info/type_id:
...
* type_info is no longer default constructible
* users cannot construct type_info objects anymore
* make type_id refer to an object with static storage duration
2021-09-22 12:41:09 +02:00
Michele Caini
49e702c0c7
hashed_string: minor changes
2021-09-22 08:34:31 +02:00
Michele Caini
c9c5214b3e
type_info: operator<, operator<=, operator> and operator>=
2021-09-22 08:34:18 +02:00
Michele Caini
24a537d154
meta: review conversion_helper for meta type nodes
2021-09-21 17:11:28 +02:00
Michele Caini
c32ecf171b
sparse_set: added user_data field
2021-09-21 15:54:26 +02:00
Michele Caini
a62ae21628
any: const reference instead of pointer as default argument to ::data
2021-09-21 09:03:39 +02:00
Michele Caini
12f05e8f72
doc: fixed typo ( close #784 )
2021-09-20 08:07:05 +02:00
Michele Caini
81fb727d20
registry: improved ctx and the like ( close #782 )
2021-09-19 15:14:43 +02:00
Michele Caini
e7655c761d
test: code coverage
2021-09-18 23:22:00 +02:00
Michele Caini
464fcf4300
test: fix a test that I've broken a couple of commits ago :)
2021-09-18 00:06:50 +02:00
Michele Caini
73b67ea9df
*: review enums
2021-09-18 00:02:35 +02:00
Michele Caini
04a9c80c14
*: removed pointless continue;
2021-09-17 23:44:15 +02:00
Michele Caini
80b5ed3d22
introduced clang-format ( close #733 )
2021-09-17 23:42:43 +02:00
Michele Caini
be5ad379b6
*: another handful of changes to please clang-format
2021-09-17 17:21:26 +02:00
Michele Caini
13d901fbfa
*: a handful of changes to please clang-format
2021-09-17 16:43:15 +02:00
Michele Caini
f7e7273e91
*: minor changes
2021-09-16 23:09:22 +02:00
Michele Caini
4b3bd265a6
meta: minor changes
2021-09-15 12:43:31 +02:00
Michele Caini
42dcec961b
meta: support for multi-setters on meta data members
2021-09-15 09:32:12 +02:00
Michele Caini
6b2a3b2916
meta: prepare for multi-setters on meta data members
2021-09-14 14:57:17 +02:00
Michele Caini
930f9ca436
any: minor changes
2021-09-14 08:52:44 +02:00
Michele Caini
a96a767b9b
test: code coverage
2021-09-13 19:32:23 +02:00
Michele Caini
36627dbe78
meta:
...
* removed meta_ctor, no alternatives provided
* removed meta_type::ctor overloads, no alternatives provided
2021-09-13 19:03:22 +02:00
Michele Caini
f86bc31cbb
meta: shared lookup function to avoid unnecessary casts when searching for a meta constructor
2021-09-13 16:37:58 +02:00
Michele Caini
4a08ca4b5e
meta: minor changes
2021-09-13 14:58:08 +02:00
Michele Caini
e857aa0640
meta: extrapolate can_cast_or_convert
2021-09-13 12:57:06 +02:00
Michele Caini
d3c98ad334
meta_factory: cleanup
2021-09-13 12:56:39 +02:00
Michele Caini
00dadfe14d
meta: reduce the size of instantiated symbols in meta_factory
2021-09-13 12:55:07 +02:00
Michele Caini
f26fa92d47
handle: extended operator==/!=
2021-09-12 18:39:20 +02:00
Michele Caini
7458072df2
hashed_string ( close #781 ):
...
* operator< and operator<=
* operator> and operator>=
2021-09-12 18:26:08 +02:00
Michele Caini
89aa2a1902
*: operator== is not defined as member if unnecessary
2021-09-12 17:52:29 +02:00
Michele Caini
7ab08779dc
type_info: temporarily reintroduce type_info::index for performance reasons
2021-09-10 11:29:05 +02:00
Michele Caini
46b686910b
any:
...
* reintroduced operation::TYPE to avoid fat any types
* added optional req parameter to data
* much faster any_cast
* much faster operator==
* internal review
2021-09-10 11:22:07 +02:00
Michele Caini
940a799207
* : minor changes
2021-09-10 00:04:23 +02:00
Michele Caini
778cee3b27
any:
...
* operator bool doesn't rely on the vtable
* valid but unspecified state after move converts to true
* compare type info objects to avoid future errors if the logic changes
2021-09-09 17:03:36 +02:00
Michele Caini
fb3252732b
type_info: name rollback, hash_code -> hash (why should I introduce a breaking change to match a terrible name from the standard library after all?)
2021-09-09 14:49:39 +02:00
Michele Caini
608f7b75e2
any: avoid creating constexpr variables since constexpr-ness isn't guaranteed
2021-09-09 14:14:58 +02:00
Michele Caini
83853c3dee
any:
...
* ::type() returns the object type if any, type_id<void>() otherwise
* avoid indirection when accessing the type
2021-09-09 14:00:08 +02:00
Michele Caini
8a0343ad6b
any: avoid creating type_info objects if unnecessary
2021-09-09 11:44:36 +02:00
Michele Caini
92d43ce620
core: rename type_seq to type_index
2021-09-09 09:53:29 +02:00
Michele Caini
6943822fed
type_info:
...
* make the API closer to that of std::type_info
* remove the ::seq member function
* rename :.hash to ::hash_code
2021-09-09 09:44:58 +02:00
Michele Caini
aa146c4125
type_info: avoid testing constexpr-ness because older compilers don't guarantee it
2021-09-09 09:04:04 +02:00
Michele Caini
b8ec6babb5
any:
...
* reduced vtable size
* internal rework
2021-09-09 00:40:06 +02:00
Michele Caini
505f4a2b4f
type_info:
...
* constexpr support
* reduce instantiations
* reduce function calls/indirection
2021-09-09 00:20:20 +02:00
Michele Caini
1bb0d017c3
type_info: removed useless friend declaration
2021-09-08 23:43:28 +02:00
Michele Caini
f33ce615d9
meta: suppress warnings due to ignored qualifiers on return types
2021-09-08 11:35:50 +02:00