Michele Caini
0ab71bc2e7
view: return a const reference to the leading storage
2021-10-01 16:26:11 +02:00
Michele Caini
81e6bbe643
test: minor changes (thanks msvc for accepting invalid code)
2021-10-01 11:05:21 +02:00
Michele Caini
c4723f3b24
view/group: added missing operator-> here and there
2021-10-01 10:57:32 +02:00
Michele Caini
4f1820bcad
iterator: review of input iterator pointer type
2021-10-01 10:24:05 +02:00
Michele Caini
c51bec0034
meta: add meta_range::operator->
2021-09-30 17:34:16 +02:00
Michele Caini
f1e7602775
meta: added operator-> to meta containers' iterators
2021-09-30 16:56:58 +02:00
Michele Caini
acd75ffe1c
iterator: added utility input_iterator_proxy
2021-09-30 16:34:09 +02:00
Michele Caini
044d14f542
*: minor changes
2021-09-29 16:12:39 +02:00
Michele Caini
28b9f07b99
*: code coverage, cleanup
2021-09-29 11:27:13 +02:00
Michele Caini
6f20dd4e45
test: suppress a wrong warning with toolset v141
2021-09-29 11:09:37 +02:00
Michele Caini
9afde31f97
meta: make meta_any::assign work with mutating this pointers
2021-09-29 10:57:31 +02:00
Michele Caini
e835ce0697
meta: make meta_any::allow_cast work with mutating this pointers
2021-09-29 09:49:22 +02:00
Michele Caini
6030f56c76
meta: make meta_any::try_cast work with mutating this pointers
2021-09-28 18:50:03 +02:00
Michele Caini
1bfb877a3b
entity: adds to_entity and to_version to the entt namespace (see #788 )
2021-09-28 14:52:52 +02:00
Michele Caini
7bb93420c4
storage: avoid reinventing the wheel :)
2021-09-27 08:55:50 +02:00
Michele Caini
bb1b0e0581
sparse_set: minor changes
2021-09-26 23:28:32 +02:00
Michele Caini
2e2782b030
sparse_set: partial sorting not supported in case of tombstones
2021-09-25 18:29:45 +02:00
Michele Caini
7b6715c7b5
test: code coverage for the storage class for empty types
2021-09-24 11:18:11 +02:00
Michele Caini
1ea392b6c9
test: minor changes to suppress a bunch of warnings + formatting
2021-09-24 10:19:13 +02:00
Michele Caini
8b1a3849e6
meta_any: support assigning the value wrapped by a meta_any
2021-09-24 10:08:59 +02:00
Michele Caini
04b2e1152c
any:
...
* when moving fails, try to copy anyway as a fallback
* code coverage
2021-09-22 17:13:02 +02:00
Michele Caini
d392eba4a0
test: code coverage
2021-09-22 16:49:42 +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
c9c5214b3e
type_info: operator<, operator<=, operator> and operator>=
2021-09-22 08:34:18 +02:00
Michele Caini
c32ecf171b
sparse_set: added user_data field
2021-09-21 15:54:26 +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
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
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
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
7458072df2
hashed_string ( close #781 ):
...
* operator< and operator<=
* operator> and operator>=
2021-09-12 18:26:08 +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
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
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
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
505f4a2b4f
type_info:
...
* constexpr support
* reduce instantiations
* reduce function calls/indirection
2021-09-09 00:20:20 +02:00
Michele Caini
1fa5a03605
test: code coverage
2021-09-07 17:13:53 +02:00
Michele Caini
2f22395eea
meta:
...
* a more robust meta_any::allow_cast (reviewed all overloads)
* removed internal meta_info dispatcher to reduce useless instantiations
* reviewed meta_conversion_helper
2021-09-06 10:19:23 +02:00
Michele Caini
591f885e67
meta: automatic conversion function to underlying type for enums (see #735 )
2021-09-03 18:23:49 +02:00
Michele Caini
bac51045e5
meta: automatic arithmetic conversions (see #735 )
2021-09-03 14:37:52 +02:00
Michele Caini
cb5e9393a4
meta: internal changes
2021-09-03 11:42:20 +02:00