Michele Caini
0a155ecb68
test: uses-allocator construction guaranteed for allocate_unique
2022-02-13 18:33:31 +01:00
Michele Caini
15fff94447
test: uses-allocator construction guaranteed for storage classes
2022-02-13 18:32:58 +01:00
Michele Caini
ff06df2acb
test: tracked_memory_resource utility
2022-02-13 18:32:10 +01:00
Michele Caini
df9301d591
bjuild system/tests: check for <version> (old compilers support)
2022-02-13 18:31:26 +01:00
Chris Ohk
aa275f4b1c
doc: fix minor typos ( #842 )
2022-02-12 15:52:43 +01:00
Michele Caini
ed11bda9fd
component: automatic traits deduction
2022-02-11 10:35:43 +01:00
Michele Caini
ed34a3f5d4
locator:
...
* service_locator -> locator
* API review + allocator support
* updated doc and tests
2022-02-10 11:31:55 +01:00
Michele Caini
87bc2cb1ab
any: try to also please gcc7
2022-02-08 11:20:49 +01:00
Michele Caini
58f22cc3b5
meta_any: ::hash function for hashable types (+ bonus doc review)
2022-02-08 11:04:14 +01:00
Michele Caini
fa8362f000
any: ::hash function for hashable types ( close #629 )
2022-02-08 11:02:30 +01:00
Michele Caini
1816206dfc
type_traits: is_std_hashable[_v]
2022-02-08 09:58:26 +01:00
Michele Caini
e7262660c2
dispatcher: API review to support named queues
2022-02-07 10:52:04 +01:00
Michele Caini
28e38321ee
test: put basic test allocator in its own file
2022-02-05 00:18:03 +01:00
Michele Caini
1faeeeeabc
memory: allocation_deleter/allocate_unique
2022-02-05 00:14:31 +01:00
Michele Caini
75a0c672b1
iterable_adaptor: decouple iterator types
2022-02-04 08:54:16 +01:00
Michele Caini
77a399738c
registry: support to named context variables (see emplace_hint)
2022-02-03 08:06:52 +01:00
Michele Caini
0500f155e6
delegate: ::instance() -> ::data()
2022-02-02 08:02:03 +01:00
Michele Caini
922bfbf724
test: fixed includes (while trying iwyu)
2022-02-01 23:01:04 +01:00
Michele Caini
eec867bc9e
enum:
...
* remove unused functions
* avoid errors due to narrowing conversions
2022-01-31 08:44:24 +01:00
Michele Caini
5a956d2914
poly: compile-time checks on embedded vtables + code coverage
2022-01-30 16:53:27 +01:00
Michele Caini
e0e29cc363
test: cleanup
2022-01-30 16:52:51 +01:00
Michele Caini
9fc8e03f72
poly: refined fwd file, updated (typed-)tests
2022-01-29 17:32:15 +01:00
Michele Caini
2fbc08b606
test: a handful of minor changes to please all compilers from the CI and remove some lambdas
2022-01-29 11:31:57 +01:00
Michele Caini
e4897f709e
test: merge poly tests in a single file, use typed tests to reduce the boilerplate
2022-01-29 10:51:25 +01:00
Michele Caini
84445aa28b
test: use gtest typed test suite for enums
2022-01-29 10:50:33 +01:00
Michele Caini
0795f9a9f2
test: separate death tests as suggested in the gtest doc
2022-01-29 10:47:22 +01:00
Michele Caini
a74f0ca370
test: code coverage
2022-01-28 14:06:22 +01:00
Michele Caini
99c2299ed4
test: added missing typename keyword
2022-01-28 14:06:22 +01:00
Michele Caini
39a08f17da
sparse_set: clear no longer creates tombstones
2022-01-28 14:06:22 +01:00
Michele Caini
57de1187fc
sparse_set/storage:
...
* reintroduce the swap_and_pop vs in_place_pop split for perf reasons
* rollback to a model with two iterators on virtual functions
* even faster range-erase/clear
2022-01-28 14:06:22 +01:00
Michele Caini
2bba6d4c0d
test: code coverage
2022-01-28 14:06:22 +01:00
Michele Caini
2f03b225f7
sparse_set: remove the cursed ::slot function (finally)
2022-01-28 14:06:22 +01:00
Michele Caini
37497295fb
sparse_set/storage:
...
* refine the try_erase to make it accept an iterator and a count (easier to work with at the call site)
* added a test for the stable clear
* added a note for future improvements
2022-01-28 14:06:21 +01:00
Michele Caini
49a066714a
test: minor changes
2022-01-28 14:00:33 +01:00
Michele Caini
7eec610d21
container:
...
* dense_hash_map -> dense_map
* dense_hash_set -> dense_set
2022-01-28 13:35:16 +01:00
Michele Caini
a98000cf3b
test: I am the winner of the best error message ever but I remain humble :)
2022-01-25 14:56:00 +01:00
Michele Caini
1caa8d923d
sparse_set/storage: iterator's ::index returns the right offset
2022-01-23 13:05:45 +01:00
Michele Caini
4fa51f8c52
type_traits: removed is_iterator_type[_v], it may be ambiguous and cause errors
2022-01-22 16:59:17 +01:00
Michele Caini
26ba137424
registry: template ::storage support to const qualified types
2022-01-21 19:00:49 +01:00
Michele Caini
e6006663ec
registry: remove [[nodiscard]] from the template ::storage method
2022-01-21 11:08:07 +01:00
Michele Caini
3878a696af
registry: standalone context type ( close #575 )
2022-01-20 09:37:31 +01:00
Michele Caini
2196db562e
registry:: non-template storage(id) returns an iterator rather than a naked pointer
2022-01-19 12:15:22 +01:00
Michele Caini
7fa29e7341
registry: strict check on storage types to prevent subtle bugs in case of errors
2022-01-18 07:45:03 +01:00
Michele Caini
7d1416ac74
hashed_string: store size information ( close #824 )
2022-01-17 08:25:56 +01:00
Michele Caini
2efaa7af7b
*: allocator aware classes fail to compile if allocator's value type and container's value type differ
2022-01-15 16:48:33 +01:00
Michele Caini
3f2e1d078f
sparse_set/storage: replace the whole try_insert machinery with a force_back parameter to try_emplace
2022-01-15 00:44:47 +01:00
Michele Caini
0a259da05a
sparse_set: opaque insert always appends elements
2022-01-14 14:06:41 +01:00
Michele Caini
1b22fe6de2
storage: insert for non-empty types always appends elements
2022-01-13 15:01:06 +01:00
Michele Caini
9eba103de9
storage: insert for empty types always appends elements
2022-01-13 14:05:33 +01:00
Michele Caini
8a19e8dafe
storage: support chained constructors i.e. parent-to-child propagation
2022-01-13 12:00:15 +01:00