diff --git a/README.md b/README.md index 1797d837..970f1a6e 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,6 @@ import ecs; - [Traversal and layout](#Traversal-and-layout) - [System options](#system-options) - [`opts::interval`](#optsintervalms-us)[](https://godbolt.org/z/aGM86KWdf) - - [`opts::group`](#optsgroupgroup-number)[](https://godbolt.org/z/ezoq17fbr) - [`opts::manual_update`](#optsmanual_update)[](https://godbolt.org/z/TxvndcTEq) - [`opts::not_parallel`](#optsnot_parallel)[](https://godbolt.org/z/MK9xcTedq) - [Variant components](#variant-components) @@ -344,32 +343,6 @@ rt.make_system>([](int const&) { ``` -### `opts::group`[](https://godbolt.org/z/ezoq17fbr) -Systems can be segmented into groups by passing along `opts::group`, where `N` is a compile-time integer constant, as a template parameter to `ecs::make_system`. Systems are roughly executed in the order they are made, but groups ensure absolute separation of systems. Systems with no group id specified are put into the default group 0. - -```cpp -rt.make_system>([](int const&) { - std::cout << "hello from group one\n"; -}); -rt.make_system>([](int const&) { - std::cout << "hello from group negative one\n"; -}); -rt.make_system([](int const&) { // same as 'ecs::opts::group<0>' - std::cout << "hello from group whatever\n"; -}); -// ... -rt.add_component(0, int{}); -rt.update(); -``` - -Running the above code will print out -> hello from group negative one\ -> hello from group whatever\ -> hello from group one - -**Note:** systems from different groups are never executed concurrently, and all systems in one group will run to completion before the next group is run. - - ### `opts::manual_update`[](https://godbolt.org/z/TxvndcTEq) Systems marked as being manually updated will not be added to the scheduler, and will thus require the user to call the `system::run()` function themselves. Calls to `ecs::runtime::commit_changes()` will still cause the system to respond to changes in components.