120368094e
Remove redundant function
...
"deleteForMatchingFunction()" was exactly the same as
"removeForMatchingFunction()", so it was removed.
2021-09-08 14:14:14 +09:00
4752a67380
Merge branch 'master' into cxx17
2021-09-08 10:49:49 +09:00
c2dc5124c9
Rename a UnitTest for ThreadPool
2021-09-08 10:49:32 +09:00
eca91d3670
Merge branch 'master' into cxx17
2021-09-08 10:46:39 +09:00
64e9b18f89
Fix UnitTests for ThreadPool
2021-09-08 10:46:26 +09:00
5baa4e92b7
Merge branch 'master' into cxx17
2021-09-07 20:25:10 +09:00
222fbb0862
Make ThreadPool::getThreadCount() constexpr
2021-09-07 20:24:47 +09:00
4fd463a870
Add tests for ThreadPool::getThreadCount()
2021-09-07 20:21:20 +09:00
5c72ecb74b
Add ThreadPool::getThreadCount()
...
Without the previously removed THREADCOUNT constant, there was no way to
query the ThreadCount from outside the class. This function provides
this.
2021-09-07 20:18:41 +09:00
39500e1fdc
Merge branch 'master' into cxx17
2021-09-07 20:16:36 +09:00
beb3eae6e2
Remove "THREADCOUNT" from ThreadPool
...
Redundant because "SIZE" provides the same value.
2021-09-07 20:15:53 +09:00
12ea26a69a
Merge branch 'master' into cxx17
2021-09-07 18:29:17 +09:00
e8f5e57772
Add missing include for "array"
2021-09-07 18:28:44 +09:00
8d44b8e2bc
Modify .clangd specifying use of C++17
2021-09-07 18:18:08 +09:00
af12aa577b
Merge branch 'master' into cxx17
2021-09-07 18:17:59 +09:00
a18ab3be31
Add .clangd specifying use of C++14
2021-09-07 18:17:31 +09:00
155df42657
Merge branch 'master' into cxx17
2021-09-07 18:16:29 +09:00
1069216c1a
Merge branch 'refactoring'
2021-09-07 18:15:12 +09:00
a851c63619
Workaround for gcc debug build fail
...
Instead of defining temporary structs in functions, the temporary
structs are defined as part of the Manager class.
2021-09-07 18:11:06 +09:00
be43cd03c5
Heavy refactorings
...
Use temporary structs instead of tuples.
Enforce max line width of 80 characters.
Fix warning related to ECTest.cpp .
Note that currently this commit appears to be unable to be built by GCC,
but compiles OK with Clang.
2021-09-07 17:04:20 +09:00
bfd5dba0b2
Merge branch 'master' into cxx17
2021-09-07 12:24:48 +09:00
dc7c29f7cc
Fix failing to wait for ThreadPool to finish
2021-09-07 12:24:27 +09:00
481f223c7d
Add "if constexpr" where possible in Manager
2021-09-07 12:13:28 +09:00
20df53837b
Use "if constexpr" in ThreadPool
2021-09-07 12:11:36 +09:00
eb638f325e
Merge branch 'master' into cxx17
2021-09-07 12:10:07 +09:00
d32c6d8d40
Fix CMakeLists.txt to use FindThreads
2021-09-07 12:09:02 +09:00
99fef060d5
Merge branch 'threadpool'
2021-09-07 12:07:05 +09:00
183eab10b3
Update documentation
2021-09-07 12:04:42 +09:00
6a8902ad51
Allow ThreadPool to be created with < 2 ThreadCount
2021-09-07 11:46:38 +09:00
16f410c8ef
Add isQueueEmpty() to ThreadPool
2021-09-07 11:29:06 +09:00
13152d1c22
Tweak sleep times for threadpool to finish
...
Remove debug print
2021-09-06 21:01:01 +09:00
0f2a98b886
Usage of ThreadPool fixes
2021-09-06 20:57:13 +09:00
f44d2f8c7b
WIP convert Manager to use ThreadPool
...
valgrind seems to report memory issues, and documentation may need more
updating.
2021-09-06 19:52:23 +09:00
2e9e18a964
Impl ThreadPool
2021-09-06 15:54:24 +09:00
95697ae7b6
Merge branch 'master' into cxx17
2021-05-17 12:34:26 +09:00
381e069ec2
Add UnitTest for previously fixed bug
2021-05-17 12:34:12 +09:00
f6dbe5414e
Merge branch 'master' into cxx17
2021-05-16 20:08:25 +09:00
f9c40984c7
Update LICENSE year
2021-05-16 20:08:06 +09:00
e0f30db951
Fix bug using callForMatchingFunction(s)
...
Fixed bug where invalid entity ids were used when using the
callForMatchingFunction(s) functions.
2021-05-16 20:07:14 +09:00
5f1e6f1b5a
Merge branch 'master' into cxx17
2019-11-06 16:44:38 +09:00
d1b0de62f2
Update LICENSE year
2019-11-06 16:44:28 +09:00
25c864dd8a
Merge branch 'master' into cxx17
2019-11-06 16:37:46 +09:00
a310a8ae38
Add forMatchingSimple, refactorings
2019-11-06 16:33:12 +09:00
e0da16a63e
Replace vector with deque for Component storage
...
When reallocating more data, vector moves the original data to a new
buffer. Deque preserves the location of the original data, preventing
invalidated pointers to existing data when additional allocation is
required.
2019-11-06 15:47:16 +09:00
4db5e0caed
Add fn to Manager allowing iterable indices as sig
...
As an alternative to forMatchingSignatures, which calls the given
function on entities matching the given Components/Tags in the
signature, forMatchingIterable allows filtering entities by an iterable
of indices that corresponds to Components/Tags.
2019-07-11 21:11:03 +09:00
50a84f5c8c
Minor whitespace fixes, minor .gitignore change
2019-07-11 19:47:39 +09:00
f59f78385d
Use "if constexpr" provided by C++17
2018-11-22 14:32:32 +09:00
8f133acbc6
Fix stored functions not being called in order
...
Manager::callForMatchingFunctions should now call all functions in the
order they were added.
2018-11-22 14:31:55 +09:00
8c462b83a1
Add static_assert, components must be def-const
...
EC::Manager will fail to compile if any given Component is not default
constructible, so a static_assert and ctest was added.
2018-09-11 12:16:04 +09:00
6bf239a43b
API change: context/userdata provided to functions
...
All functions called by EC/Manager now accept an additional parameter
as a void* to support user-provided data (or context) for functions
(useful when the function is not a lambda function and doesn't have any
other data stored with it).
2018-08-08 16:52:12 +09:00