From c958b54eca389af736aa2498aa9b2d0ab32c99f3 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Sun, 9 Aug 2020 23:15:34 -0400 Subject: [PATCH 01/34] Move license to root directory as is standard --- doc/LICENSE.md => LICENSE.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/LICENSE.md => LICENSE.md (100%) diff --git a/doc/LICENSE.md b/LICENSE.md similarity index 100% rename from doc/LICENSE.md rename to LICENSE.md From 09a38736e3c6323ea256beed9ab5c428948776f0 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Tue, 11 Aug 2020 12:41:28 -0400 Subject: [PATCH 02/34] Create CONTRIBUTING.md --- CONTRIBUTING.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..a0569ae4b6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,46 @@ +# Contributing to Empirical +We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: + +- Reporting a bug +- Proposing new features +- Submitting new code +- Writing documentation + + +# Reporting bugs + +To report bugs, please [open an issue on Github](https://github.com/devosoft/Empirical/issues) +clearly stating the observed (buggy) behavior, the desired behavior, +which operating system and compiler you're using (including version), and any additional information that might +help us fix the bug. + +# Requesting features + +We welcome suggestions for how to make Empirical better! To give us your ideas, [open an issue on Github](https://github.com/devosoft/Empirical/issues). + +# Submitting new code + +Empirical is developed by a group of computational scientists, none of whom can be full-time software developers. +We try to fix bugs and implement new features as quickly as we can, but we can't make any promises. +For these reasons, we highly encourage contributors to submit code fixing bugs or implementing new features! +By working together, we can have a more versatile and robust library than any of us could write individually. + +Before writing new code, we reccomend opening an issue or commenting on an existing one to make sure that we're all on the +same page and agree that your contribution will be consistent with Empirical's goals. + +In-depth guides to [getting started with Empirical development](https://empirical.readthedocs.io/en/latest/dev/getting-started.html), +[coding guidelines for Empirical development](https://empirical.readthedocs.io/en/latest/dev/contribution-guidelines-and-review.html), +[writing documentation](https://empirical.readthedocs.io/en/latest/dev/adding-documentation.html), and +[writing tests](https://empirical.readthedocs.io/en/latest/dev/guide-to-testing.html) are available in the documentation. + +Once you start working on a feature, we reccomend making a pull request and giving it the "Merge: not ready" label. This was it's easy for everyone +to keep tabs on ongoing Empirical development and the status of new features. Once you're done developing, remove the "Merge: not ready" label and +add the "Merge: ready" label so that we know your pull request is ready for review. + +# Code of Conduct + +Please note we have a [code of conduct](CODE_OF_CONDUCT.md) and follow it in all your interactions with the project. + + +# License +By contributing, you agree that your contributions will be licensed under its MIT License. From 8803dc78ee287b6dd15f25b1052066d545e3f33d Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Wed, 19 Aug 2020 01:52:32 -0400 Subject: [PATCH 03/34] Clarify reviewing guidelines I agree with the now-deleted paragraph about getting human eyes on the code and not relying completely on automation, but given limited reviewer time I'm not sold on the value of manually running automated tests that are already being run. The previous guidelines also didn't match our current practice. --- .../contribution-guidelines-and-review.rst | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/doc/dev/contribution-guidelines-and-review.rst b/doc/dev/contribution-guidelines-and-review.rst index bfa5ab6c69..e4c1b8784b 100644 --- a/doc/dev/contribution-guidelines-and-review.rst +++ b/doc/dev/contribution-guidelines-and-review.rst @@ -82,18 +82,17 @@ to automagically check the spelling within the file being edited. Checklist --------- -Copy and paste the following into a pull request comment when it is ready for -review:: - - - [ ] Is it mergeable? - - [ ] Did it pass the tests? - - [ ] Does 'make doc' succeed? - - [ ] If you added code, is it tested? Look at the output for 'make diff-cover' - - [ ] Was a spellchecker run on the source code and documentation after - changes were made? - -It's expected that before requesting a code review the author of the PR will have checked all these -things on their own. It's also expected that whomever reviews the PR will check these individual -items as well. Though the CI runs most of these and will pass/fail the PR accordingly it is not -infallible and the whole point of having a code review process is to have human eyes go over the -changes to the codebase. +Before requesting a review on a pull request, all of the checks on github should pass, confirming that the code:: + + - Is mergeable + - Passes the tests + - 'make doc' succeeds + - If you added code, it is tested + +The code submitter and reviewer should verify that:: + + - The code is well-organized + - The code is commented appropriately + - All newly-added functions and classes have doxygen-compatible docstrings + - Any new tests are of acceptable quality + - The addition represents an improvement to Empirical From d56d9541cf82843406a6e769e2929df5f83056df Mon Sep 17 00:00:00 2001 From: Alex Lalejini Date: Tue, 15 Sep 2020 16:50:06 -0400 Subject: [PATCH 04/34] Update CONTRIBUTING.md updates discussed 2020-09-15 lab meeting --- CONTRIBUTING.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a0569ae4b6..22c104e169 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,5 @@ # Contributing to Empirical + We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's: - Reporting a bug @@ -6,19 +7,18 @@ We love your input! We want to make contributing to this project as easy and tra - Submitting new code - Writing documentation - -# Reporting bugs +## Reporting bugs To report bugs, please [open an issue on Github](https://github.com/devosoft/Empirical/issues) -clearly stating the observed (buggy) behavior, the desired behavior, +clearly stating the observed (buggy) behavior (screenshots are encouraged), the desired behavior, which operating system and compiler you're using (including version), and any additional information that might -help us fix the bug. +help us fix the bug. If possible, please provide a minimum example that reproduces the bug. -# Requesting features +## Requesting features -We welcome suggestions for how to make Empirical better! To give us your ideas, [open an issue on Github](https://github.com/devosoft/Empirical/issues). +We welcome suggestions for how to make Empirical better! To give us your ideas, [open an issue on Github](https://github.com/devosoft/Empirical/issues). -# Submitting new code +## Submitting new code and documentation Empirical is developed by a group of computational scientists, none of whom can be full-time software developers. We try to fix bugs and implement new features as quickly as we can, but we can't make any promises. @@ -33,14 +33,14 @@ In-depth guides to [getting started with Empirical development](https://empirica [writing documentation](https://empirical.readthedocs.io/en/latest/dev/adding-documentation.html), and [writing tests](https://empirical.readthedocs.io/en/latest/dev/guide-to-testing.html) are available in the documentation. -Once you start working on a feature, we reccomend making a pull request and giving it the "Merge: not ready" label. This was it's easy for everyone +Once you start working on a feature, we recommend making a pull request and giving it the "Merge: not ready" label. This way it's easy for everyone to keep tabs on ongoing Empirical development and the status of new features. Once you're done developing, remove the "Merge: not ready" label and add the "Merge: ready" label so that we know your pull request is ready for review. -# Code of Conduct +## Code of Conduct Please note we have a [code of conduct](CODE_OF_CONDUCT.md) and follow it in all your interactions with the project. - -# License -By contributing, you agree that your contributions will be licensed under its MIT License. +## License + +By contributing, you agree that your contributions will be released under [Empirical's MIT License](LICENSE.md). From 5f0c5759431c22f3011ecce4595fab21f0c884b4 Mon Sep 17 00:00:00 2001 From: Alex Lalejini Date: Tue, 15 Sep 2020 16:54:02 -0400 Subject: [PATCH 05/34] instruct contributors to add themselves to license --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 22c104e169..aa37f32ad2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,6 +37,8 @@ Once you start working on a feature, we recommend making a pull request and givi to keep tabs on ongoing Empirical development and the status of new features. Once you're done developing, remove the "Merge: not ready" label and add the "Merge: ready" label so that we know your pull request is ready for review. +As part of your pull request, please add yourself to the list of contributors in the [license file](LICENSE.md). + ## Code of Conduct Please note we have a [code of conduct](CODE_OF_CONDUCT.md) and follow it in all your interactions with the project. From f869af4e8ed67992761b2739e502fdbf8a5a58a8 Mon Sep 17 00:00:00 2001 From: Alex Lalejini Date: Tue, 15 Sep 2020 16:57:23 -0400 Subject: [PATCH 06/34] Update LICENSE.md --- LICENSE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 8f3ffd946d..4da11b889d 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,8 +1,9 @@ =============================================================================== The MIT License (MIT) -Copyright (c) 2015-2020 Michigan State University -Contributers: Charles Ofria, Emily Dolson, Jacob Fenton, Riley Hoffman, +Copyright (c) 2015-2020 Michigan State University Digital Evolution Laboratory + +Contributors: Charles Ofria, Emily Dolson, Jacob Fenton, Riley Hoffman, Steven Jorgensen, Alex Lalejini, Robin Miller, Matthew Moreno, Katherine Perry, Santiago Rodriguez-Papa, Jory Schossau, Jason Stredwick, Anya Vostinar, and Luis Zaman From 7e84baf110de20b667a65737f75e6d2747c1fa6d Mon Sep 17 00:00:00 2001 From: Alexander Lalejini Date: Wed, 23 Sep 2020 11:16:16 -0400 Subject: [PATCH 07/34] reformat and add contributors to license --- LICENSE.md | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 4da11b889d..6cc7986e51 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -3,10 +3,26 @@ The MIT License (MIT) Copyright (c) 2015-2020 Michigan State University Digital Evolution Laboratory -Contributors: Charles Ofria, Emily Dolson, Jacob Fenton, Riley Hoffman, - Steven Jorgensen, Alex Lalejini, Robin Miller, Matthew Moreno, - Katherine Perry, Santiago Rodriguez-Papa, Jory Schossau, - Jason Stredwick, Anya Vostinar, and Luis Zaman +Contributors: Charles Ofria, + Emily Dolson, + Jacob Fenton, + Riley Hoffman, + Steven Jorgensen, + Alex Lalejini, + Robin Miller, + Matthew Moreno, + Katherine Perry, + Santiago Rodriguez-Papa, + Oliver Baldwin Edwards, + Jason Stredwick, + Raheem Clemons, + Anya Vostinar, + Luis Zaman, + Ryan Moreno, + Nitash C G, + Jory Schossau, + and Dylan Rainbow + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -59,7 +75,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. =============================================================================== -This repository also contains the source code for C3.js (https://github.com/c3js/c3), which is available +This repository also contains the source code for C3.js (https://github.com/c3js/c3), which is available under the MIT License: The MIT License (MIT) @@ -85,7 +101,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. =============================================================================== -This repository also contains the source code for d3-tip.js (https://github.com/Caged/d3-tip), which is available +This repository also contains the source code for d3-tip.js (https://github.com/Caged/d3-tip), which is available under the MIT License: The MIT License (MIT) From 46230e81183923084cf71783727216d04a578922 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Sat, 10 Jun 2023 14:40:58 -0400 Subject: [PATCH 08/34] Fix pinned catch version --- third-party/Catch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third-party/Catch b/third-party/Catch index 0f05c034c2..20ace55034 160000 --- a/third-party/Catch +++ b/third-party/Catch @@ -1 +1 @@ -Subproject commit 0f05c034c2cf4dd039b8ea375c70dbe657f21d97 +Subproject commit 20ace5503422a8511036aa9d486435041127e0cf From e5b7ef16cab62621bb34f8790f37f6559ab5c654 Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Sat, 10 Jun 2023 20:48:58 -0400 Subject: [PATCH 09/34] Fix tidy --- LICENSE.md | 2 +- doc/dev/contribution-guidelines-and-review.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index aa4d699ea2..1e0fc700e9 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -111,4 +111,4 @@ This repository also contains a Bloom filter class was written by Arash Partow ( =============================================================================== -See directories within the third-party directory for information about the licenses dependencies are under. \ No newline at end of file +See directories within the third-party directory for information about the licenses dependencies are under. diff --git a/doc/dev/contribution-guidelines-and-review.md b/doc/dev/contribution-guidelines-and-review.md index 368bb02701..03bd50e891 100644 --- a/doc/dev/contribution-guidelines-and-review.md +++ b/doc/dev/contribution-guidelines-and-review.md @@ -186,4 +186,4 @@ The code reviewer should verify that the above requirements are met, and also th - The code is well-organized - The code is commented appropriately - Any new tests are of acceptable quality - - The addition represents an improvement to Empirical \ No newline at end of file + - The addition represents an improvement to Empirical From 5b9d3efd5fe76275785d9974e536f3c501d801df Mon Sep 17 00:00:00 2001 From: Emily Dolson Date: Sat, 10 Jun 2023 20:56:02 -0400 Subject: [PATCH 10/34] Fix trailing whitespace --- CONTRIBUTING.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aa37f32ad2..cee67ba4ef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,14 +9,14 @@ We love your input! We want to make contributing to this project as easy and tra ## Reporting bugs -To report bugs, please [open an issue on Github](https://github.com/devosoft/Empirical/issues) -clearly stating the observed (buggy) behavior (screenshots are encouraged), the desired behavior, -which operating system and compiler you're using (including version), and any additional information that might +To report bugs, please [open an issue on Github](https://github.com/devosoft/Empirical/issues) +clearly stating the observed (buggy) behavior (screenshots are encouraged), the desired behavior, +which operating system and compiler you're using (including version), and any additional information that might help us fix the bug. If possible, please provide a minimum example that reproduces the bug. ## Requesting features -We welcome suggestions for how to make Empirical better! To give us your ideas, [open an issue on Github](https://github.com/devosoft/Empirical/issues). +We welcome suggestions for how to make Empirical better! To give us your ideas, [open an issue on Github](https://github.com/devosoft/Empirical/issues). ## Submitting new code and documentation @@ -28,7 +28,7 @@ By working together, we can have a more versatile and robust library than any of Before writing new code, we reccomend opening an issue or commenting on an existing one to make sure that we're all on the same page and agree that your contribution will be consistent with Empirical's goals. -In-depth guides to [getting started with Empirical development](https://empirical.readthedocs.io/en/latest/dev/getting-started.html), +In-depth guides to [getting started with Empirical development](https://empirical.readthedocs.io/en/latest/dev/getting-started.html), [coding guidelines for Empirical development](https://empirical.readthedocs.io/en/latest/dev/contribution-guidelines-and-review.html), [writing documentation](https://empirical.readthedocs.io/en/latest/dev/adding-documentation.html), and [writing tests](https://empirical.readthedocs.io/en/latest/dev/guide-to-testing.html) are available in the documentation. @@ -42,7 +42,7 @@ As part of your pull request, please add yourself to the list of contributors in ## Code of Conduct Please note we have a [code of conduct](CODE_OF_CONDUCT.md) and follow it in all your interactions with the project. - + ## License By contributing, you agree that your contributions will be released under [Empirical's MIT License](LICENSE.md). From faef9093969b83f785d4842f7f8be5a89ec7c4b5 Mon Sep 17 00:00:00 2001 From: Alexander Lalejini Date: Wed, 9 Aug 2023 11:46:26 -0400 Subject: [PATCH 11/34] Draft fix for ResetSeed --- include/emp/math/Random.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/emp/math/Random.hpp b/include/emp/math/Random.hpp index 23133fa066..169533ecc0 100644 --- a/include/emp/math/Random.hpp +++ b/include/emp/math/Random.hpp @@ -85,6 +85,10 @@ namespace emp { weyl_state *= 2; // Make sure starting state is even. + // Reset other internal state + value = 0; + expRV = 0.0; + Get(); // Prime the new sequence by skipping the first number. } From 4d497825c2c597337706766cda59c195c62e2ee6 Mon Sep 17 00:00:00 2001 From: Alexander Lalejini Date: Wed, 9 Aug 2023 12:16:12 -0400 Subject: [PATCH 12/34] Add test to verify ResetSeed resets emp::Random object's internal state --- tests/math/Random.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/tests/math/Random.cpp b/tests/math/Random.cpp index 8182df62dc..6eb2a997a9 100644 --- a/tests/math/Random.cpp +++ b/tests/math/Random.cpp @@ -71,7 +71,7 @@ TEST_CASE("Test Random", "[math]") REQUIRE(b2_result < 50); emp::RandomStdAdaptor randomStd(rnd); - REQUIRE(randomStd(4) == 1); + REQUIRE(randomStd(4) == 3); REQUIRE(rnd.GetRandGeometric(1) == 1); REQUIRE(rnd.GetRandGeometric(0) == std::numeric_limits::infinity()); @@ -295,3 +295,48 @@ TEST_CASE("Another Test random", "[math]") REQUIRE(v.first + v.second == 0); } } + +TEST_CASE("Calling ResetSeed should reset all generator internal state", "[math]") { + + SECTION("Test internal 'value'") { + // Get Seed + emp::Random rnd(-1); // Initialize without a seed + rnd.ResetSeed(5); + REQUIRE(rnd.GetSeed() == 5); + + emp::vector sequence_a; + for (size_t i = 0; i < 10; ++i) { + sequence_a.emplace_back(rnd.GetInt(10000)); + } + + rnd.ResetSeed(5); + emp::vector sequence_b; + for (size_t i = 0; i < 10; ++i) { + sequence_b.emplace_back(rnd.GetInt(10000)); + } + + // Tests internal 'value' + REQUIRE(sequence_a == sequence_b); + } + + SECTION("Test internal expV") { + emp::Random rnd(10); + rnd.GetRandNormal(); // Adjusts expV with time-based seed generator + + rnd.ResetSeed(4); // Should reset expV + emp::vector norm_seq_a; + for (size_t i = 0; i < 1000; ++i) { + norm_seq_a.emplace_back(rnd.GetRandNormal()); + } + + rnd.ResetSeed(4); + emp::vector norm_seq_b; + for (size_t i = 0; i < 1000; ++i) { + norm_seq_b.emplace_back(rnd.GetRandNormal()); + } + + // Tests internal expV + REQUIRE(norm_seq_a == norm_seq_b); + } + +} From 7584e9336f5024bed2bc9c6b0fe96cf1390d82af Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 09:23:06 -0500 Subject: [PATCH 13/34] Update actions-setup-docker pin --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e8c7d0e902..91eb0a409e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -103,7 +103,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: 'recursive' - - uses: mmore500/actions-setup-docker@94429ebc8d9edb4e8c8afb2667bce1e89435f74f + - uses: docker-practice/actions-setup-docker@v1 - run: docker build -t devosoft/empirical . - run: docker ps -a - run: sudo docker run --name empirical devosoft/empirical /bin/bash -c "set -o pipefail && cd /opt/Empirical/doc && make html coverage | ./headtail.sh && python /opt/Empirical/doc/parse_documentation_coverage.py /opt/Empirical/doc/_build/doc-coverage.json >> /opt/Empirical/doc-coverage.json" From 1903f41d92f7c3afdada38f21c4eef9afd60c93d Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 09:29:57 -0500 Subject: [PATCH 14/34] Try downgrading ubuntu pin --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 91eb0a409e..3b542c4eac 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -98,7 +98,7 @@ jobs: - run: curl -s https://codecov.io/bash | bash test-documentation: name: Test Documentation Build - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: From a62ac2e8c8f1b41fb76fae4e28984631f8164b8a Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 10:01:28 -0500 Subject: [PATCH 15/34] Try docker build first then use actions container --- .github/workflows/CI.yml | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 3b542c4eac..fcf8445765 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -96,18 +96,38 @@ jobs: - run: export CXX=clang++ && make install-coverage-dependencies - run: export CXX=clang++ && make coverage - run: curl -s https://codecov.io/bash | bash + build-docker: + name: Deploy to GHCR + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - name: Log in to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Push to GHCR + uses: docker/build-push-action@v1 + with: + push: true + tags: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_id }} test-documentation: name: Test Documentation Build - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 + needs: build-docker + container: + image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_id }} steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - - uses: docker-practice/actions-setup-docker@v1 - - run: docker build -t devosoft/empirical . - - run: docker ps -a - - run: sudo docker run --name empirical devosoft/empirical /bin/bash -c "set -o pipefail && cd /opt/Empirical/doc && make html coverage | ./headtail.sh && python /opt/Empirical/doc/parse_documentation_coverage.py /opt/Empirical/doc/_build/doc-coverage.json >> /opt/Empirical/doc-coverage.json" - - run: sudo docker cp empirical:/opt/Empirical/doc-coverage.json . + - run: | + set -o pipefail + make -C doc html coverage | ./headtail.sh + python doc/parse_documentation_coverage.py doc/_build/doc-coverage.json >> doc-coverage.json - uses: sylvanld/action-storage@v1 if: github.ref == 'refs/heads/master' with: From 8ef69bcf8b58318c6c23c779944037e164ed164b Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 10:02:57 -0500 Subject: [PATCH 16/34] Fix job name --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index fcf8445765..5389673ac6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -97,7 +97,7 @@ jobs: - run: export CXX=clang++ && make coverage - run: curl -s https://codecov.io/bash | bash build-docker: - name: Deploy to GHCR + name: Build Docker Image runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 From f25f665dad704300486ae7231757b90b72b73af4 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 10:08:46 -0500 Subject: [PATCH 17/34] Fixup tags and labels --- .github/workflows/CI.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 5389673ac6..76c75c30cc 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -113,13 +113,14 @@ jobs: uses: docker/build-push-action@v1 with: push: true - tags: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_id }} + tags: ACTIONS_BUILD_${{ github.run_id }} + labels: ghcr.io/devosoft/Empirical test-documentation: name: Test Documentation Build runs-on: ubuntu-22.04 needs: build-docker container: - image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_id }} + image: ghcr.io/devosoft/Empirical:ACTIONS_BUILD_${{ github.run_id }} steps: - uses: actions/checkout@v2 with: From 6316c6e1f1de7576d660de58730e76eabb3494a2 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 10:23:03 -0500 Subject: [PATCH 18/34] Give workflow package write permissions --- .github/workflows/CI.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 76c75c30cc..89ca84b9a2 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -99,6 +99,8 @@ jobs: build-docker: name: Build Docker Image runs-on: ubuntu-22.04 + permissions: + packages: write steps: - uses: actions/checkout@v2 with: From e317a65a0e833b10035f4f371f091c245d8c4af8 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 11:56:18 -0500 Subject: [PATCH 19/34] Try using GH tutorial content for Docker workflow --- .github/workflows/CI.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 89ca84b9a2..4ffb4402ec 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -96,27 +96,38 @@ jobs: - run: export CXX=clang++ && make install-coverage-dependencies - run: export CXX=clang++ && make coverage - run: curl -s https://codecov.io/bash | bash + # adapted from https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#publishing-a-package-using-an-action build-docker: name: Build Docker Image runs-on: ubuntu-22.04 + env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} permissions: + contents: read packages: write steps: - uses: actions/checkout@v2 with: submodules: 'recursive' - name: Log in to GitHub Container Registry - uses: docker/login-action@v1 + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Push to GHCR - uses: docker/build-push-action@v1 + uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 with: + context: . push: true tags: ACTIONS_BUILD_${{ github.run_id }} - labels: ghcr.io/devosoft/Empirical + labels: ${{ steps.meta.outputs.labels }} test-documentation: name: Test Documentation Build runs-on: ubuntu-22.04 From 7d07ec3658776470a3d8c03934af7484aa457c03 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:01:29 -0500 Subject: [PATCH 20/34] Set tag thru docker metadata action --- .github/workflows/CI.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4ffb4402ec..ac4c1206fe 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -121,12 +121,13 @@ jobs: uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: type=raw,value=ACTIONS_BUILD_${{ github.run_id }} - name: Push to GHCR uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 with: context: . push: true - tags: ACTIONS_BUILD_${{ github.run_id }} + tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} test-documentation: name: Test Documentation Build From 2aa1d84466e9ac2d0aa233d8c59be2b4aeb1ec99 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:15:17 -0500 Subject: [PATCH 21/34] Use run number instead of id --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ac4c1206fe..f058913596 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -121,7 +121,7 @@ jobs: uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: type=raw,value=ACTIONS_BUILD_${{ github.run_id }} + tags: type=raw,value=ACTIONS_BUILD_${{ github.run_number }} - name: Push to GHCR uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 with: @@ -134,7 +134,7 @@ jobs: runs-on: ubuntu-22.04 needs: build-docker container: - image: ghcr.io/devosoft/Empirical:ACTIONS_BUILD_${{ github.run_id }} + image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_number }} steps: - uses: actions/checkout@v2 with: From d015eaecebd23e28e5b943584fb9c6fdcae04929 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:19:31 -0500 Subject: [PATCH 22/34] Deploy to ghcr.io too --- .github/workflows/CI.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f058913596..fba021a068 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -97,7 +97,7 @@ jobs: - run: export CXX=clang++ && make coverage - run: curl -s https://codecov.io/bash | bash # adapted from https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#publishing-a-package-using-an-action - build-docker: + build-container: name: Build Docker Image runs-on: ubuntu-22.04 env: @@ -132,7 +132,7 @@ jobs: test-documentation: name: Test Documentation Build runs-on: ubuntu-22.04 - needs: build-docker + needs: build-container container: image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_number }} steps: @@ -148,8 +148,8 @@ jobs: with: src: doc-coverage.json dst: stats/doc-coverage.json - deploy-dockerhub: - name: Deploy to DockerHub + deploy-container: + name: Deploy to DockerHub and ghcr.io runs-on: ubuntu-22.04 if: github.ref == 'refs/heads/master' needs: @@ -171,3 +171,12 @@ jobs: password: ${{ secrets.DOCKER_PASSWORD }} repository: devosoft/empirical tag_with_ref: true + - name: Push to GHCR + uses: docker/build-push-action@v1 + with: + context: . + push: true + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + repository: devosoft/empirical + tag_with_ref: true From 9897d4a6c3c4252efd8780f958a30f11546c6893 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:32:58 -0500 Subject: [PATCH 23/34] Include header for uint32_t --- include/emp/control/Signal.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/emp/control/Signal.hpp b/include/emp/control/Signal.hpp index d347df85e1..a6b4d36698 100644 --- a/include/emp/control/Signal.hpp +++ b/include/emp/control/Signal.hpp @@ -15,6 +15,7 @@ #define EMP_CONTROL_SIGNAL_HPP_INCLUDE +#include #include #include From 8bf11c7b72b38d29852dd8993ae71a37e8d7fd73 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:38:45 -0500 Subject: [PATCH 24/34] Rename .readthedocs.yml to .readthedocs.yaml --- .readthedocs.yml => .readthedocs.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .readthedocs.yml => .readthedocs.yaml (100%) diff --git a/.readthedocs.yml b/.readthedocs.yaml similarity index 100% rename from .readthedocs.yml rename to .readthedocs.yaml From 89dfbda3fe3ead3bc30841610fea35bd7a6cb67c Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:40:55 -0500 Subject: [PATCH 25/34] Add build field to rtd yaml --- .readthedocs.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e862e52db5..f259822d3b 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -5,6 +5,11 @@ #Required version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3.7" + # Build documentation in the docs/ directory with Sphinx sphinx: configuration: doc/conf.py From e9918f5ba441d29574d517f18b993d9a99c98fe9 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:41:17 -0500 Subject: [PATCH 26/34] Update comment to note filename change --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index f259822d3b..f23fc4be1f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,4 +1,4 @@ -# .readthedocs.yml +# .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details From bba48da0b17f12bb3d8b5e99043de051ec7db084 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:42:26 -0500 Subject: [PATCH 27/34] Pick python version by rtd build, not python field --- .readthedocs.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index f23fc4be1f..3a0195bf2e 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -19,6 +19,5 @@ formats: [] # Optionally set the version of Python and requirements required to build your docs python: - version: 3.7 install: - requirements: doc/requirements.txt From 3eaaac4274f6a1f92d3178cb62ea9c8f50c3b9c3 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 12:47:03 -0500 Subject: [PATCH 28/34] Bugfix: make action container user root --- .github/workflows/CI.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index fba021a068..36db18dae3 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -135,6 +135,8 @@ jobs: needs: build-container container: image: ghcr.io/devosoft/empirical:ACTIONS_BUILD_${{ github.run_number }} + # github actions requires root to access mounted volumes + options: --user root steps: - uses: actions/checkout@v2 with: From 9638b3030d9f2835bf9efba45732d10843a55501 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 13:04:46 -0500 Subject: [PATCH 29/34] Pin older checkout for container compat Container does not have new enough git for checkout v2 --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 36db18dae3..71c953dcf5 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -138,7 +138,7 @@ jobs: # github actions requires root to access mounted volumes options: --user root steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v1 with: submodules: 'recursive' - run: | From 622b04462263e96f82202407a4db791cff124755 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 13:02:06 -0500 Subject: [PATCH 30/34] Bump breathe pin for bugfix See https://github.com/breathe-doc/breathe/issues/616 --- doc/requirements.in | 2 +- doc/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/requirements.in b/doc/requirements.in index af341d1323..20b7f4bd79 100644 --- a/doc/requirements.in +++ b/doc/requirements.in @@ -2,7 +2,7 @@ sphinx==3.2.1 exhale==0.2.3 sphinx-rtd-theme==0.5.0 coverxygen==1.5.0 -breathe==4.22.1 +breathe==4.26.1 myst-parser==0.12.9 # @mmore500 2021-10 # docutils 0.18.0 crashes docs build due to exception diff --git a/doc/requirements.txt b/doc/requirements.txt index ba5ca8f558..8a720136f4 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -12,7 +12,7 @@ babel==2.9.1 # via sphinx beautifulsoup4==4.10.0 # via bs4 -breathe==4.22.1 +breathe==4.26.1 # via # -r requirements.in # exhale From ba90965a7b86adf1d45d19943efeabf0264fc4c4 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 13:17:07 -0500 Subject: [PATCH 31/34] Add missing cstdint includes --- include/emp/Evolve/World_structure.hpp | 1 + include/emp/bits/BitArray.hpp | 1 + include/emp/bits/BitVector.hpp | 1 + include/emp/bits/bitset_utils.hpp | 2 ++ include/emp/compiler/DFA.hpp | 1 + include/emp/compiler/Lexer.hpp | 1 + include/emp/compiler/NFA.hpp | 1 + include/emp/control/SignalControl.hpp | 1 + include/emp/control/SignalManager.hpp | 1 + include/emp/datastructs/hash_utils.hpp | 1 + include/emp/games/Othello8.hpp | 1 + include/emp/geometry/Angle2D.hpp | 1 + include/emp/geometry/Body2D.hpp | 2 ++ include/emp/hardware/BitSorter.hpp | 1 + include/emp/hardware/signalgp_utils.hpp | 1 + include/emp/in_progress/constexpr/ce_random.hpp | 1 + include/emp/io/serialize.hpp | 1 + include/emp/math/Fraction.hpp | 2 ++ include/emp/math/Random.hpp | 1 + include/emp/math/math.hpp | 1 + include/emp/meta/TypeID.hpp | 1 + include/emp/meta/type_traits.hpp | 1 + include/emp/web/Button.hpp | 2 ++ include/emp/web/FileInput.hpp | 1 + include/emp/web/Input.hpp | 1 + include/emp/web/JSWrap.hpp | 1 + include/emp/web/KeypressManager.hpp | 1 + include/emp/web/TextArea.hpp | 2 ++ include/emp/web/d3/dataset.hpp | 1 + include/emp/web/d3/histogram.hpp | 2 ++ include/emp/web/d3/selection.hpp | 1 + include/emp/web/d3/utils.hpp | 1 + include/emp/web/emfunctions.hpp | 1 + 33 files changed, 39 insertions(+) diff --git a/include/emp/Evolve/World_structure.hpp b/include/emp/Evolve/World_structure.hpp index eb2e439835..e7afab8665 100644 --- a/include/emp/Evolve/World_structure.hpp +++ b/include/emp/Evolve/World_structure.hpp @@ -10,6 +10,7 @@ #ifndef EMP_EVOLVE_WORLD_STRUCTURE_HPP_INCLUDE #define EMP_EVOLVE_WORLD_STRUCTURE_HPP_INCLUDE +#include #include #include "../base/array.hpp" diff --git a/include/emp/bits/BitArray.hpp b/include/emp/bits/BitArray.hpp index e89a2b0667..c0484a414e 100644 --- a/include/emp/bits/BitArray.hpp +++ b/include/emp/bits/BitArray.hpp @@ -17,6 +17,7 @@ #include +#include #include #include #include diff --git a/include/emp/bits/BitVector.hpp b/include/emp/bits/BitVector.hpp index 33b8fb7d94..41f7a82c44 100644 --- a/include/emp/bits/BitVector.hpp +++ b/include/emp/bits/BitVector.hpp @@ -30,6 +30,7 @@ #include +#include #include #include #include diff --git a/include/emp/bits/bitset_utils.hpp b/include/emp/bits/bitset_utils.hpp index d0ea890b40..2589e3d14e 100644 --- a/include/emp/bits/bitset_utils.hpp +++ b/include/emp/bits/bitset_utils.hpp @@ -11,6 +11,8 @@ #ifndef EMP_BITS_BITSET_UTILS_HPP_INCLUDE #define EMP_BITS_BITSET_UTILS_HPP_INCLUDE +#include + namespace emp { /// Create a series of a specified number of ones (at compile time) in a uint. diff --git a/include/emp/compiler/DFA.hpp b/include/emp/compiler/DFA.hpp index fd8f6e852c..b6ec9ea0f2 100644 --- a/include/emp/compiler/DFA.hpp +++ b/include/emp/compiler/DFA.hpp @@ -11,6 +11,7 @@ #ifndef EMP_COMPILER_DFA_HPP_INCLUDE #define EMP_COMPILER_DFA_HPP_INCLUDE +#include #include #include diff --git a/include/emp/compiler/Lexer.hpp b/include/emp/compiler/Lexer.hpp index c6d7d4a8dd..ec633aae2e 100644 --- a/include/emp/compiler/Lexer.hpp +++ b/include/emp/compiler/Lexer.hpp @@ -11,6 +11,7 @@ #ifndef EMP_COMPILER_LEXER_HPP_INCLUDE #define EMP_COMPILER_LEXER_HPP_INCLUDE +#include #include #include diff --git a/include/emp/compiler/NFA.hpp b/include/emp/compiler/NFA.hpp index ae3bd23dcd..b22482480f 100644 --- a/include/emp/compiler/NFA.hpp +++ b/include/emp/compiler/NFA.hpp @@ -23,6 +23,7 @@ #define EMP_COMPILER_NFA_HPP_INCLUDE +#include #include #include diff --git a/include/emp/control/SignalControl.hpp b/include/emp/control/SignalControl.hpp index 82bf0a7982..6e7ac5bb1b 100644 --- a/include/emp/control/SignalControl.hpp +++ b/include/emp/control/SignalControl.hpp @@ -17,6 +17,7 @@ #ifndef EMP_CONTROL_SIGNALCONTROL_HPP_INCLUDE #define EMP_CONTROL_SIGNALCONTROL_HPP_INCLUDE +#include #include #include diff --git a/include/emp/control/SignalManager.hpp b/include/emp/control/SignalManager.hpp index 570c26bd18..f3eab7f816 100644 --- a/include/emp/control/SignalManager.hpp +++ b/include/emp/control/SignalManager.hpp @@ -11,6 +11,7 @@ #ifndef EMP_CONTROL_SIGNALMANAGER_HPP_INCLUDE #define EMP_CONTROL_SIGNALMANAGER_HPP_INCLUDE +#include #include #include diff --git a/include/emp/datastructs/hash_utils.hpp b/include/emp/datastructs/hash_utils.hpp index 363fd7f930..83c373fed7 100644 --- a/include/emp/datastructs/hash_utils.hpp +++ b/include/emp/datastructs/hash_utils.hpp @@ -12,6 +12,7 @@ #define EMP_DATASTRUCTS_HASH_UTILS_HPP_INCLUDE #include +#include #include #include #include diff --git a/include/emp/games/Othello8.hpp b/include/emp/games/Othello8.hpp index 93d5d22574..c327ca5083 100644 --- a/include/emp/games/Othello8.hpp +++ b/include/emp/games/Othello8.hpp @@ -13,6 +13,7 @@ #ifndef EMP_GAMES_OTHELLO8_HPP_INCLUDE #define EMP_GAMES_OTHELLO8_HPP_INCLUDE +#include #include #include #include diff --git a/include/emp/geometry/Angle2D.hpp b/include/emp/geometry/Angle2D.hpp index b0b62914ff..3bbdf1e75e 100644 --- a/include/emp/geometry/Angle2D.hpp +++ b/include/emp/geometry/Angle2D.hpp @@ -15,6 +15,7 @@ #define EMP_GEOMETRY_ANGLE2D_HPP_INCLUDE #include +#include #include "../math/constants.hpp" diff --git a/include/emp/geometry/Body2D.hpp b/include/emp/geometry/Body2D.hpp index 553228aefa..95071cce86 100644 --- a/include/emp/geometry/Body2D.hpp +++ b/include/emp/geometry/Body2D.hpp @@ -23,6 +23,8 @@ #ifndef EMP_GEOMETRY_BODY2D_HPP_INCLUDE #define EMP_GEOMETRY_BODY2D_HPP_INCLUDE +#include + #include "../base/assert.hpp" #include "../base/Ptr.hpp" #include "../base/vector.hpp" diff --git a/include/emp/hardware/BitSorter.hpp b/include/emp/hardware/BitSorter.hpp index 746a4eab48..dd6d5da4e5 100644 --- a/include/emp/hardware/BitSorter.hpp +++ b/include/emp/hardware/BitSorter.hpp @@ -10,6 +10,7 @@ #ifndef EMP_HARDWARE_BITSORTER_HPP_INCLUDE #define EMP_HARDWARE_BITSORTER_HPP_INCLUDE +#include #include #include "../base/vector.hpp" diff --git a/include/emp/hardware/signalgp_utils.hpp b/include/emp/hardware/signalgp_utils.hpp index 475f7eb9d7..16d07da10b 100644 --- a/include/emp/hardware/signalgp_utils.hpp +++ b/include/emp/hardware/signalgp_utils.hpp @@ -13,6 +13,7 @@ #define EMP_HARDWARE_SIGNALGP_UTILS_HPP_INCLUDE #include +#include #include #include #include diff --git a/include/emp/in_progress/constexpr/ce_random.hpp b/include/emp/in_progress/constexpr/ce_random.hpp index 8cb0e9a673..24f73c05ea 100644 --- a/include/emp/in_progress/constexpr/ce_random.hpp +++ b/include/emp/in_progress/constexpr/ce_random.hpp @@ -43,6 +43,7 @@ // #include #include #include +#include #include #include #include diff --git a/include/emp/io/serialize.hpp b/include/emp/io/serialize.hpp index a6b27e339a..1dd4706262 100644 --- a/include/emp/io/serialize.hpp +++ b/include/emp/io/serialize.hpp @@ -52,6 +52,7 @@ #ifndef EMP_IO_SERIALIZE_HPP_INCLUDE #define EMP_IO_SERIALIZE_HPP_INCLUDE +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/math/Fraction.hpp b/include/emp/math/Fraction.hpp index d53eabbeec..94af61d7dd 100644 --- a/include/emp/math/Fraction.hpp +++ b/include/emp/math/Fraction.hpp @@ -11,6 +11,8 @@ #ifndef EMP_MATH_FRACTION_HPP_INCLUDE #define EMP_MATH_FRACTION_HPP_INCLUDE +#include + #include "math.hpp" namespace emp { diff --git a/include/emp/math/Random.hpp b/include/emp/math/Random.hpp index 169533ecc0..bb903c7f1a 100644 --- a/include/emp/math/Random.hpp +++ b/include/emp/math/Random.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/include/emp/math/math.hpp b/include/emp/math/math.hpp index 27b801c7ed..b2250650ed 100644 --- a/include/emp/math/math.hpp +++ b/include/emp/math/math.hpp @@ -14,6 +14,7 @@ #include #include +#include #include #include diff --git a/include/emp/meta/TypeID.hpp b/include/emp/meta/TypeID.hpp index 9b715cdfbd..a5fddd4ee9 100644 --- a/include/emp/meta/TypeID.hpp +++ b/include/emp/meta/TypeID.hpp @@ -17,6 +17,7 @@ #define EMP_META_TYPEID_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/meta/type_traits.hpp b/include/emp/meta/type_traits.hpp index 6d212abbf9..dd90e41493 100644 --- a/include/emp/meta/type_traits.hpp +++ b/include/emp/meta/type_traits.hpp @@ -11,6 +11,7 @@ #define EMP_META_TYPE_TRAITS_HPP_INCLUDE +#include #include #include #include diff --git a/include/emp/web/Button.hpp b/include/emp/web/Button.hpp index 5919d0f9d2..87f37fd4dd 100644 --- a/include/emp/web/Button.hpp +++ b/include/emp/web/Button.hpp @@ -30,6 +30,8 @@ #ifndef EMP_WEB_BUTTON_HPP_INCLUDE #define EMP_WEB_BUTTON_HPP_INCLUDE +#include + #include "init.hpp" #include "Widget.hpp" diff --git a/include/emp/web/FileInput.hpp b/include/emp/web/FileInput.hpp index 818316ff19..8821dc1343 100644 --- a/include/emp/web/FileInput.hpp +++ b/include/emp/web/FileInput.hpp @@ -12,6 +12,7 @@ #ifndef EMP_WEB_FILEINPUT_HPP_INCLUDE #define EMP_WEB_FILEINPUT_HPP_INCLUDE +#include #include #include diff --git a/include/emp/web/Input.hpp b/include/emp/web/Input.hpp index 55f4c70d56..94f96a22a1 100644 --- a/include/emp/web/Input.hpp +++ b/include/emp/web/Input.hpp @@ -30,6 +30,7 @@ #ifndef EMP_WEB_INPUT_HPP_INCLUDE #define EMP_WEB_INPUT_HPP_INCLUDE +#include #include "Widget.hpp" diff --git a/include/emp/web/JSWrap.hpp b/include/emp/web/JSWrap.hpp index 4bb1e4b08a..9d6b9c75d9 100644 --- a/include/emp/web/JSWrap.hpp +++ b/include/emp/web/JSWrap.hpp @@ -40,6 +40,7 @@ #define EMP_WEB_JSWRAP_HPP_INCLUDE #include +#include #include #include #include diff --git a/include/emp/web/KeypressManager.hpp b/include/emp/web/KeypressManager.hpp index c02dac54e3..0af7af86d0 100644 --- a/include/emp/web/KeypressManager.hpp +++ b/include/emp/web/KeypressManager.hpp @@ -43,6 +43,7 @@ #ifndef EMP_WEB_KEYPRESSMANAGER_HPP_INCLUDE #define EMP_WEB_KEYPRESSMANAGER_HPP_INCLUDE +#include #include #include #include diff --git a/include/emp/web/TextArea.hpp b/include/emp/web/TextArea.hpp index d866ab46bc..80aa676919 100644 --- a/include/emp/web/TextArea.hpp +++ b/include/emp/web/TextArea.hpp @@ -13,6 +13,8 @@ #ifndef EMP_WEB_TEXTAREA_HPP_INCLUDE #define EMP_WEB_TEXTAREA_HPP_INCLUDE +#include + #include "Widget.hpp" namespace emp { diff --git a/include/emp/web/d3/dataset.hpp b/include/emp/web/d3/dataset.hpp index 01e31a35c5..9691de5f5c 100644 --- a/include/emp/web/d3/dataset.hpp +++ b/include/emp/web/d3/dataset.hpp @@ -10,6 +10,7 @@ #ifndef EMP_WEB_D3_DATASET_HPP_INCLUDE #define EMP_WEB_D3_DATASET_HPP_INCLUDE +#include #include #include "d3_init.hpp" diff --git a/include/emp/web/d3/histogram.hpp b/include/emp/web/d3/histogram.hpp index 9d98995261..1342cab29d 100644 --- a/include/emp/web/d3/histogram.hpp +++ b/include/emp/web/d3/histogram.hpp @@ -10,6 +10,8 @@ #ifndef EMP_WEB_D3_HISTOGRAM_HPP_INCLUDE #define EMP_WEB_D3_HISTOGRAM_HPP_INCLUDE +#include + #include "../../base/vector.hpp" #include "d3_init.hpp" #include "dataset.hpp" diff --git a/include/emp/web/d3/selection.hpp b/include/emp/web/d3/selection.hpp index 588261e676..9fb4edf184 100644 --- a/include/emp/web/d3/selection.hpp +++ b/include/emp/web/d3/selection.hpp @@ -15,6 +15,7 @@ #include "utils.hpp" #include +#include #include #include #include diff --git a/include/emp/web/d3/utils.hpp b/include/emp/web/d3/utils.hpp index b5d315dc71..c3632e2463 100644 --- a/include/emp/web/d3/utils.hpp +++ b/include/emp/web/d3/utils.hpp @@ -10,6 +10,7 @@ #ifndef EMP_WEB_D3_UTILS_HPP_INCLUDE #define EMP_WEB_D3_UTILS_HPP_INCLUDE +#include #include #include diff --git a/include/emp/web/emfunctions.hpp b/include/emp/web/emfunctions.hpp index 1602d8041c..c7074536b7 100644 --- a/include/emp/web/emfunctions.hpp +++ b/include/emp/web/emfunctions.hpp @@ -10,6 +10,7 @@ #ifndef EMP_WEB_EMFUNCTIONS_HPP_INCLUDE #define EMP_WEB_EMFUNCTIONS_HPP_INCLUDE +#include #include #include "../debug/alert.hpp" From 23b1d12a78ac9a7324c74f095090b49d1feadef0 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 13:23:10 -0500 Subject: [PATCH 32/34] Drop set pipefail --- .github/workflows/CI.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 71c953dcf5..2aa9f68d3f 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -142,7 +142,6 @@ jobs: with: submodules: 'recursive' - run: | - set -o pipefail make -C doc html coverage | ./headtail.sh python doc/parse_documentation_coverage.py doc/_build/doc-coverage.json >> doc-coverage.json - uses: sylvanld/action-storage@v1 From 78401484e402fb484feecc630a1621e64b329988 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 13:50:44 -0500 Subject: [PATCH 33/34] Fix path to headtail.sh --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 2aa9f68d3f..bf3e370cd6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -142,7 +142,7 @@ jobs: with: submodules: 'recursive' - run: | - make -C doc html coverage | ./headtail.sh + make -C doc html coverage | ./doc/headtail.sh python doc/parse_documentation_coverage.py doc/_build/doc-coverage.json >> doc-coverage.json - uses: sylvanld/action-storage@v1 if: github.ref == 'refs/heads/master' From a29d98819b776e10bd0bd22b1f10f531f2d6fe87 Mon Sep 17 00:00:00 2001 From: Matthew Andres Moreno Date: Thu, 7 Dec 2023 14:22:15 -0500 Subject: [PATCH 34/34] Add missing includes for size_t --- include/emp/Evolve/NK-const.hpp | 1 + include/emp/Evolve/NK.hpp | 1 + include/emp/Evolve/OEE.hpp | 1 + include/emp/Evolve/Resource.hpp | 1 + include/emp/Evolve/StateGrid.hpp | 1 + include/emp/Evolve/Systematics.hpp | 1 + include/emp/Evolve/World.hpp | 1 + include/emp/Evolve/World_iterator.hpp | 2 ++ include/emp/Evolve/World_output.hpp | 2 ++ include/emp/Evolve/World_select.hpp | 1 + include/emp/Evolve/World_structure.hpp | 1 + include/emp/base/Ptr.hpp | 1 + include/emp/base/_emscripten_assert_trigger.hpp | 1 + include/emp/base/_emscripten_error_trigger.hpp | 1 + include/emp/base/_native_assert_trigger.hpp | 1 + include/emp/base/_native_error_trigger.hpp | 1 + include/emp/base/_tdebug_assert_trigger.hpp | 1 + include/emp/base/_tdebug_error_trigger.hpp | 1 + include/emp/base/array.hpp | 1 + include/emp/base/errors.hpp | 1 + include/emp/base/map.hpp | 1 + include/emp/base/optional.hpp | 1 + include/emp/base/unordered_map.hpp | 1 + include/emp/base/vector.hpp | 1 + include/emp/bits/BitArray.hpp | 1 + include/emp/bits/BitMatrix.hpp | 1 + include/emp/bits/BitSet.hpp | 1 + include/emp/bits/BitVector.hpp | 1 + include/emp/bits/_bitset_helpers.hpp | 1 + include/emp/bits/bitset_utils.hpp | 1 + include/emp/compiler/DFA.hpp | 1 + include/emp/compiler/Lexer.hpp | 1 + include/emp/compiler/NFA.hpp | 1 + include/emp/compiler/RegEx.hpp | 1 + include/emp/compiler/lexer_utils.hpp | 1 + include/emp/config/ArgManager.hpp | 1 + include/emp/config/SettingCombos.hpp | 1 + include/emp/config/SettingConfig.hpp | 1 + include/emp/config/command_line.hpp | 1 + include/emp/config/config.hpp | 1 + include/emp/config/config_web_interface.hpp | 1 + include/emp/control/Action.hpp | 1 + include/emp/control/ActionManager.hpp | 1 + include/emp/control/Signal.hpp | 1 + include/emp/control/SignalControl.hpp | 1 + include/emp/control/SignalManager.hpp | 1 + include/emp/data/DataFile.hpp | 1 + include/emp/data/DataInterface.hpp | 1 + include/emp/data/DataLayout.hpp | 1 + include/emp/data/DataLog.hpp | 1 + include/emp/data/DataManager.hpp | 1 + include/emp/data/DataMap.hpp | 1 + include/emp/data/DataNode.hpp | 1 + include/emp/data/MemoryImage.hpp | 1 + include/emp/data/Trait.hpp | 1 + include/emp/data/VarMap.hpp | 1 + include/emp/datastructs/Cache.hpp | 1 + include/emp/datastructs/DynamicString.hpp | 1 + include/emp/datastructs/Graph.hpp | 1 + include/emp/datastructs/IndexMap.hpp | 2 ++ include/emp/datastructs/QueueCache.hpp | 1 + include/emp/datastructs/SmallFifoMap.hpp | 1 + include/emp/datastructs/StringMap.hpp | 1 + include/emp/datastructs/TimeQueue.hpp | 1 + include/emp/datastructs/TypeMap.hpp | 1 + include/emp/datastructs/UnorderedIndexMap.hpp | 2 ++ include/emp/datastructs/graph_utils.hpp | 1 + include/emp/datastructs/ra_set.hpp | 1 + include/emp/datastructs/reference_vector.hpp | 2 ++ include/emp/datastructs/tuple_utils.hpp | 1 + include/emp/datastructs/valsort_map.hpp | 1 + include/emp/datastructs/vector_utils.hpp | 1 + include/emp/debug/alert.hpp | 2 ++ include/emp/functional/AnyFunction.hpp | 1 + include/emp/functional/FunctionSet.hpp | 1 + include/emp/functional/GenericFunction.hpp | 1 + include/emp/functional/flex_function.hpp | 1 + include/emp/functional/memo_function.hpp | 1 + include/emp/games/Mancala.hpp | 1 + include/emp/games/Othello.hpp | 1 + include/emp/games/Othello8.hpp | 1 + include/emp/games/PayoffMatrix.hpp | 1 + include/emp/geometry/Body2D.hpp | 1 + include/emp/geometry/Physics2D.hpp | 1 + include/emp/geometry/Surface.hpp | 1 + include/emp/hardware/AvidaCPU_InstLib.hpp | 2 ++ include/emp/hardware/AvidaGP.hpp | 1 + include/emp/hardware/BitSorter.hpp | 1 + include/emp/hardware/EventDrivenGP.hpp | 1 + include/emp/hardware/EventLib.hpp | 1 + include/emp/hardware/Genome.hpp | 4 ++-- include/emp/hardware/InstLib.hpp | 1 + include/emp/hardware/LinearCode.hpp | 2 ++ include/emp/hardware/signalgp_utils.hpp | 1 + include/emp/in_progress/BatchConfig.hpp | 1 + include/emp/in_progress/Empower/Empower.hpp | 1 + include/emp/in_progress/Empower/MemoryImage.hpp | 2 ++ include/emp/in_progress/Empower/Struct.hpp | 2 ++ include/emp/in_progress/Empower/StructType.hpp | 1 + include/emp/in_progress/Empower/Type.hpp | 1 + include/emp/in_progress/Empower/TypeManager.hpp | 1 + include/emp/in_progress/Empower/Var.hpp | 2 ++ include/emp/in_progress/Empower/VarInfo.hpp | 2 ++ include/emp/in_progress/Empower2/Var.hpp | 1 + include/emp/in_progress/Parser.hpp | 1 + include/emp/in_progress/constexpr/ce_array.hpp | 1 + include/emp/in_progress/constexpr/ce_random.hpp | 1 + include/emp/in_progress/constexpr/ce_string.hpp | 1 + include/emp/io/ContiguousStream.hpp | 1 + include/emp/io/File.hpp | 1 + include/emp/io/MemoryIStream.hpp | 1 + include/emp/io/ascii_utils.hpp | 1 + include/emp/matching/MatchBin.hpp | 1 + include/emp/matching/MatchDepository.hpp | 1 + include/emp/matching/matchbin_metrics.hpp | 1 + include/emp/matching/matchbin_regulators.hpp | 1 + include/emp/matching/matchbin_selectors.hpp | 1 + include/emp/matching/selectors_static/RankedSelector.hpp | 1 + include/emp/math/Distribution.hpp | 2 ++ include/emp/math/Random.hpp | 1 + include/emp/math/Range.hpp | 1 + include/emp/math/combos.hpp | 1 + include/emp/math/distances.hpp | 2 ++ include/emp/math/math.hpp | 1 + include/emp/math/random_utils.hpp | 1 + include/emp/math/sequence_utils.hpp | 2 ++ include/emp/math/spatial_stats.hpp | 1 + include/emp/meta/ConceptWrapper.hpp | 1 + include/emp/meta/TypeID.hpp | 1 + include/emp/meta/TypePack.hpp | 2 ++ include/emp/meta/ValPack.hpp | 5 +++-- include/emp/meta/meta.hpp | 1 + include/emp/meta/type_traits.hpp | 1 + include/emp/prefab/ConfigPanel.hpp | 1 + include/emp/scholar/Author.hpp | 1 + include/emp/scholar/Citation.hpp | 1 + include/emp/testing/unit_tests.hpp | 1 + include/emp/tools/SolveState.hpp | 2 +- include/emp/tools/TypeTracker.hpp | 1 + include/emp/tools/attrs.hpp | 1 + include/emp/tools/hash_namify.hpp | 1 + include/emp/tools/string_utils.hpp | 1 + include/emp/tools/unique.hpp | 1 + include/emp/web/Animate.hpp | 2 +- include/emp/web/CanvasShape.hpp | 2 +- include/emp/web/JSWrap.hpp | 1 + include/emp/web/Listeners.hpp | 1 + include/emp/web/RawImage.hpp | 1 + include/emp/web/Selector.hpp | 1 + include/emp/web/Style.hpp | 1 + include/emp/web/Table.hpp | 2 ++ include/emp/web/Text.hpp | 2 ++ include/emp/web/Tween.hpp | 2 +- include/emp/web/Widget.hpp | 1 + include/emp/web/_MochaTestRunner.hpp | 1 + include/emp/web/_TableCell.hpp | 2 ++ include/emp/web/_TableCol.hpp | 2 ++ include/emp/web/_TableColGroup.hpp | 2 ++ include/emp/web/_TableRow.hpp | 2 ++ include/emp/web/_TableRowGroup.hpp | 2 ++ include/emp/web/canvas_utils.hpp | 2 ++ include/emp/web/color_map.hpp | 1 + include/emp/web/d3/axis.hpp | 2 ++ include/emp/web/d3/dataset.hpp | 1 + include/emp/web/d3/scales.hpp | 2 ++ include/emp/web/d3/svg_shapes.hpp | 2 ++ include/emp/web/events.hpp | 1 + include/emp/web/js_utils.hpp | 1 + 168 files changed, 198 insertions(+), 8 deletions(-) diff --git a/include/emp/Evolve/NK-const.hpp b/include/emp/Evolve/NK-const.hpp index 868116ead8..5416ee540e 100644 --- a/include/emp/Evolve/NK-const.hpp +++ b/include/emp/Evolve/NK-const.hpp @@ -14,6 +14,7 @@ #define EMP_EVOLVE_NK_CONST_HPP_INCLUDE #include +#include #include "../base/assert.hpp" #include "../bits/BitSet.hpp" diff --git a/include/emp/Evolve/NK.hpp b/include/emp/Evolve/NK.hpp index a19fa8cece..5902fab781 100644 --- a/include/emp/Evolve/NK.hpp +++ b/include/emp/Evolve/NK.hpp @@ -19,6 +19,7 @@ #define EMP_EVOLVE_NK_HPP_INCLUDE #include +#include #include "../base/vector.hpp" #include "../bits/BitVector.hpp" diff --git a/include/emp/Evolve/OEE.hpp b/include/emp/Evolve/OEE.hpp index ceb9f619a9..40237478ac 100644 --- a/include/emp/Evolve/OEE.hpp +++ b/include/emp/Evolve/OEE.hpp @@ -11,6 +11,7 @@ #define EMP_EVOLVE_OEE_HPP_INCLUDE #include +#include #include "../base/Ptr.hpp" #include "../base/vector.hpp" diff --git a/include/emp/Evolve/Resource.hpp b/include/emp/Evolve/Resource.hpp index 3d4028a504..05768a05c1 100644 --- a/include/emp/Evolve/Resource.hpp +++ b/include/emp/Evolve/Resource.hpp @@ -15,6 +15,7 @@ #ifndef EMP_EVOLVE_RESOURCE_HPP_INCLUDE #define EMP_EVOLVE_RESOURCE_HPP_INCLUDE +#include #include "World.hpp" diff --git a/include/emp/Evolve/StateGrid.hpp b/include/emp/Evolve/StateGrid.hpp index a779e9fbce..ba73c3b153 100644 --- a/include/emp/Evolve/StateGrid.hpp +++ b/include/emp/Evolve/StateGrid.hpp @@ -21,6 +21,7 @@ #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/Evolve/Systematics.hpp b/include/emp/Evolve/Systematics.hpp index 323b6d780a..c7f220ba84 100644 --- a/include/emp/Evolve/Systematics.hpp +++ b/include/emp/Evolve/Systematics.hpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/Evolve/World.hpp b/include/emp/Evolve/World.hpp index 7e869bdee8..72731006d8 100644 --- a/include/emp/Evolve/World.hpp +++ b/include/emp/Evolve/World.hpp @@ -28,6 +28,7 @@ #include #include +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/Evolve/World_iterator.hpp b/include/emp/Evolve/World_iterator.hpp index 852a61f0bb..c5ca2e017c 100644 --- a/include/emp/Evolve/World_iterator.hpp +++ b/include/emp/Evolve/World_iterator.hpp @@ -15,6 +15,8 @@ #ifndef EMP_EVOLVE_WORLD_ITERATOR_HPP_INCLUDE #define EMP_EVOLVE_WORLD_ITERATOR_HPP_INCLUDE +#include + #include "../base/Ptr.hpp" namespace emp { diff --git a/include/emp/Evolve/World_output.hpp b/include/emp/Evolve/World_output.hpp index 79b6cb1949..2fd6432155 100644 --- a/include/emp/Evolve/World_output.hpp +++ b/include/emp/Evolve/World_output.hpp @@ -12,6 +12,8 @@ #ifndef EMP_EVOLVE_WORLD_OUTPUT_HPP_INCLUDE #define EMP_EVOLVE_WORLD_OUTPUT_HPP_INCLUDE +#include + #include "../base/vector.hpp" #include "../data/DataFile.hpp" // Helper to determine when specific events should occur. #include "../tools/string_utils.hpp" diff --git a/include/emp/Evolve/World_select.hpp b/include/emp/Evolve/World_select.hpp index 65214f7356..148544b579 100644 --- a/include/emp/Evolve/World_select.hpp +++ b/include/emp/Evolve/World_select.hpp @@ -12,6 +12,7 @@ #include #include +#include #include "../base/array.hpp" #include "../base/assert.hpp" diff --git a/include/emp/Evolve/World_structure.hpp b/include/emp/Evolve/World_structure.hpp index e7afab8665..1f6730dd23 100644 --- a/include/emp/Evolve/World_structure.hpp +++ b/include/emp/Evolve/World_structure.hpp @@ -12,6 +12,7 @@ #include #include +#include #include "../base/array.hpp" #include "../base/assert.hpp" diff --git a/include/emp/base/Ptr.hpp b/include/emp/base/Ptr.hpp index 3b32c353d8..28580757c5 100644 --- a/include/emp/base/Ptr.hpp +++ b/include/emp/base/Ptr.hpp @@ -28,6 +28,7 @@ #define EMP_BASE_PTR_HPP_INCLUDE #include +#include #include #include "assert.hpp" diff --git a/include/emp/base/_emscripten_assert_trigger.hpp b/include/emp/base/_emscripten_assert_trigger.hpp index 7dcfd867fa..203d86cefa 100644 --- a/include/emp/base/_emscripten_assert_trigger.hpp +++ b/include/emp/base/_emscripten_assert_trigger.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/include/emp/base/_emscripten_error_trigger.hpp b/include/emp/base/_emscripten_error_trigger.hpp index cc32c45873..202e45a3d6 100644 --- a/include/emp/base/_emscripten_error_trigger.hpp +++ b/include/emp/base/_emscripten_error_trigger.hpp @@ -13,6 +13,7 @@ #define EMP_BASE__EMSCRIPTEN_ERROR_TRIGGER_HPP_INCLUDE +#include #include namespace emp { diff --git a/include/emp/base/_native_assert_trigger.hpp b/include/emp/base/_native_assert_trigger.hpp index a52c695ae6..5f6374e7f2 100644 --- a/include/emp/base/_native_assert_trigger.hpp +++ b/include/emp/base/_native_assert_trigger.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include "_is_streamable.hpp" diff --git a/include/emp/base/_native_error_trigger.hpp b/include/emp/base/_native_error_trigger.hpp index d92305a9bc..35ec074e12 100644 --- a/include/emp/base/_native_error_trigger.hpp +++ b/include/emp/base/_native_error_trigger.hpp @@ -12,6 +12,7 @@ #define EMP_BASE__NATIVE_ERROR_TRIGGER_HPP_INCLUDE +#include #include namespace emp { diff --git a/include/emp/base/_tdebug_assert_trigger.hpp b/include/emp/base/_tdebug_assert_trigger.hpp index 10233817c2..0d14fe8ac4 100644 --- a/include/emp/base/_tdebug_assert_trigger.hpp +++ b/include/emp/base/_tdebug_assert_trigger.hpp @@ -11,6 +11,7 @@ #ifndef EMP_BASE__TDEBUG_ASSERT_TRIGGER_HPP_INCLUDE #define EMP_BASE__TDEBUG_ASSERT_TRIGGER_HPP_INCLUDE +#include #include namespace emp { diff --git a/include/emp/base/_tdebug_error_trigger.hpp b/include/emp/base/_tdebug_error_trigger.hpp index 3c174e60c5..4466920af9 100644 --- a/include/emp/base/_tdebug_error_trigger.hpp +++ b/include/emp/base/_tdebug_error_trigger.hpp @@ -12,6 +12,7 @@ #define EMP_BASE__TDEBUG_ERROR_TRIGGER_HPP_INCLUDE +#include #include namespace emp { diff --git a/include/emp/base/array.hpp b/include/emp/base/array.hpp index 054fd0300f..57076dae3f 100644 --- a/include/emp/base/array.hpp +++ b/include/emp/base/array.hpp @@ -20,6 +20,7 @@ #include #include +#include #include #include "assert.hpp" diff --git a/include/emp/base/errors.hpp b/include/emp/base/errors.hpp index f4ab4e8461..83934ae43e 100644 --- a/include/emp/base/errors.hpp +++ b/include/emp/base/errors.hpp @@ -42,6 +42,7 @@ #include #include #include +#include #include /// If we are in emscripten, make sure to include the header. diff --git a/include/emp/base/map.hpp b/include/emp/base/map.hpp index 7d58125a8d..f6a4205400 100644 --- a/include/emp/base/map.hpp +++ b/include/emp/base/map.hpp @@ -19,6 +19,7 @@ #include #include +#include #include "assert.hpp" #include "MapProxy.hpp" diff --git a/include/emp/base/optional.hpp b/include/emp/base/optional.hpp index e0902fb6ed..afd8305e67 100644 --- a/include/emp/base/optional.hpp +++ b/include/emp/base/optional.hpp @@ -15,6 +15,7 @@ #define EMP_BASE_OPTIONAL_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/base/unordered_map.hpp b/include/emp/base/unordered_map.hpp index 9b4c4c664a..d75dcf13df 100644 --- a/include/emp/base/unordered_map.hpp +++ b/include/emp/base/unordered_map.hpp @@ -12,6 +12,7 @@ #define EMP_BASE_UNORDERED_MAP_HPP_INCLUDE #include +#include #include #include "assert.hpp" diff --git a/include/emp/base/vector.hpp b/include/emp/base/vector.hpp index 6fa7ec5aef..e4d71241c1 100644 --- a/include/emp/base/vector.hpp +++ b/include/emp/base/vector.hpp @@ -22,6 +22,7 @@ #include #include +#include #include #include diff --git a/include/emp/bits/BitArray.hpp b/include/emp/bits/BitArray.hpp index c0484a414e..66c7361217 100644 --- a/include/emp/bits/BitArray.hpp +++ b/include/emp/bits/BitArray.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/bits/BitMatrix.hpp b/include/emp/bits/BitMatrix.hpp index a15ef586ee..674a18f246 100644 --- a/include/emp/bits/BitMatrix.hpp +++ b/include/emp/bits/BitMatrix.hpp @@ -12,6 +12,7 @@ #define EMP_BITS_BITMATRIX_HPP_INCLUDE #include +#include #include diff --git a/include/emp/bits/BitSet.hpp b/include/emp/bits/BitSet.hpp index 3904464147..1f03f7955b 100644 --- a/include/emp/bits/BitSet.hpp +++ b/include/emp/bits/BitSet.hpp @@ -12,6 +12,7 @@ #ifndef EMP_BITS_BITSET_HPP_INCLUDE #define EMP_BITS_BITSET_HPP_INCLUDE +#include #include "BitArray.hpp" diff --git a/include/emp/bits/BitVector.hpp b/include/emp/bits/BitVector.hpp index 41f7a82c44..aff6817322 100644 --- a/include/emp/bits/BitVector.hpp +++ b/include/emp/bits/BitVector.hpp @@ -34,6 +34,7 @@ #include #include #include +#include #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/bits/_bitset_helpers.hpp b/include/emp/bits/_bitset_helpers.hpp index a64bf242b0..72d1dbb9b4 100644 --- a/include/emp/bits/_bitset_helpers.hpp +++ b/include/emp/bits/_bitset_helpers.hpp @@ -10,6 +10,7 @@ #ifndef EMP_BITS__BITSET_HELPERS_HPP_INCLUDE #define EMP_BITS__BITSET_HELPERS_HPP_INCLUDE +#include namespace emp { diff --git a/include/emp/bits/bitset_utils.hpp b/include/emp/bits/bitset_utils.hpp index 2589e3d14e..17858e8a62 100644 --- a/include/emp/bits/bitset_utils.hpp +++ b/include/emp/bits/bitset_utils.hpp @@ -12,6 +12,7 @@ #define EMP_BITS_BITSET_UTILS_HPP_INCLUDE #include +#include namespace emp { diff --git a/include/emp/compiler/DFA.hpp b/include/emp/compiler/DFA.hpp index b6ec9ea0f2..7c8f83ce1a 100644 --- a/include/emp/compiler/DFA.hpp +++ b/include/emp/compiler/DFA.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include "../base/array.hpp" diff --git a/include/emp/compiler/Lexer.hpp b/include/emp/compiler/Lexer.hpp index ec633aae2e..0b9ed843da 100644 --- a/include/emp/compiler/Lexer.hpp +++ b/include/emp/compiler/Lexer.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include "../base/map.hpp" diff --git a/include/emp/compiler/NFA.hpp b/include/emp/compiler/NFA.hpp index b22482480f..bce8382d31 100644 --- a/include/emp/compiler/NFA.hpp +++ b/include/emp/compiler/NFA.hpp @@ -26,6 +26,7 @@ #include #include #include +#include #include "../base/vector.hpp" #include "../bits/BitSet.hpp" diff --git a/include/emp/compiler/RegEx.hpp b/include/emp/compiler/RegEx.hpp index a38ec0f97e..b6e139afe4 100644 --- a/include/emp/compiler/RegEx.hpp +++ b/include/emp/compiler/RegEx.hpp @@ -39,6 +39,7 @@ #include #include +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/compiler/lexer_utils.hpp b/include/emp/compiler/lexer_utils.hpp index 458f0485d4..6744693940 100644 --- a/include/emp/compiler/lexer_utils.hpp +++ b/include/emp/compiler/lexer_utils.hpp @@ -13,6 +13,7 @@ #include +#include #include // std::pair #include "../base/vector.hpp" diff --git a/include/emp/config/ArgManager.hpp b/include/emp/config/ArgManager.hpp index 176b7a5a7a..27aca46090 100644 --- a/include/emp/config/ArgManager.hpp +++ b/include/emp/config/ArgManager.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/config/SettingCombos.hpp b/include/emp/config/SettingCombos.hpp index 879c878946..d0a2c5dccd 100644 --- a/include/emp/config/SettingCombos.hpp +++ b/include/emp/config/SettingCombos.hpp @@ -12,6 +12,7 @@ #define EMP_CONFIG_SETTINGCOMBOS_HPP_INCLUDE #include +#include #include #include #include diff --git a/include/emp/config/SettingConfig.hpp b/include/emp/config/SettingConfig.hpp index 7b059c8a4a..7dae78193b 100644 --- a/include/emp/config/SettingConfig.hpp +++ b/include/emp/config/SettingConfig.hpp @@ -12,6 +12,7 @@ #define EMP_CONFIG_SETTINGCONFIG_HPP_INCLUDE #include +#include #include #include #include diff --git a/include/emp/config/command_line.hpp b/include/emp/config/command_line.hpp index 1bc0c251e5..a9bda8a3e8 100644 --- a/include/emp/config/command_line.hpp +++ b/include/emp/config/command_line.hpp @@ -34,6 +34,7 @@ #ifndef EMP_CONFIG_COMMAND_LINE_HPP_INCLUDE #define EMP_CONFIG_COMMAND_LINE_HPP_INCLUDE +#include #include #include "../base/vector.hpp" diff --git a/include/emp/config/config.hpp b/include/emp/config/config.hpp index 4f0fe3c93d..9ab97d4d25 100644 --- a/include/emp/config/config.hpp +++ b/include/emp/config/config.hpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/config/config_web_interface.hpp b/include/emp/config/config_web_interface.hpp index 647539fcd1..c88d06778c 100644 --- a/include/emp/config/config_web_interface.hpp +++ b/include/emp/config/config_web_interface.hpp @@ -12,6 +12,7 @@ #include #include +#include #include "../datastructs/set_utils.hpp" #include "../tools/string_utils.hpp" diff --git a/include/emp/control/Action.hpp b/include/emp/control/Action.hpp index 2004ef2037..0ff1393ff7 100644 --- a/include/emp/control/Action.hpp +++ b/include/emp/control/Action.hpp @@ -15,6 +15,7 @@ #define EMP_CONTROL_ACTION_HPP_INCLUDE #include +#include #include namespace emp { diff --git a/include/emp/control/ActionManager.hpp b/include/emp/control/ActionManager.hpp index 32bf6df875..f71efa6189 100644 --- a/include/emp/control/ActionManager.hpp +++ b/include/emp/control/ActionManager.hpp @@ -11,6 +11,7 @@ #ifndef EMP_CONTROL_ACTIONMANAGER_HPP_INCLUDE #define EMP_CONTROL_ACTIONMANAGER_HPP_INCLUDE +#include #include #include diff --git a/include/emp/control/Signal.hpp b/include/emp/control/Signal.hpp index a6b4d36698..15fff4d424 100644 --- a/include/emp/control/Signal.hpp +++ b/include/emp/control/Signal.hpp @@ -17,6 +17,7 @@ #include #include +#include #include #include "../datastructs/map_utils.hpp" diff --git a/include/emp/control/SignalControl.hpp b/include/emp/control/SignalControl.hpp index 6e7ac5bb1b..19428f0288 100644 --- a/include/emp/control/SignalControl.hpp +++ b/include/emp/control/SignalControl.hpp @@ -18,6 +18,7 @@ #define EMP_CONTROL_SIGNALCONTROL_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/control/SignalManager.hpp b/include/emp/control/SignalManager.hpp index f3eab7f816..ca55d2a57d 100644 --- a/include/emp/control/SignalManager.hpp +++ b/include/emp/control/SignalManager.hpp @@ -12,6 +12,7 @@ #define EMP_CONTROL_SIGNALMANAGER_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/data/DataFile.hpp b/include/emp/data/DataFile.hpp index b7ee56300a..ba3361ab78 100644 --- a/include/emp/data/DataFile.hpp +++ b/include/emp/data/DataFile.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/data/DataInterface.hpp b/include/emp/data/DataInterface.hpp index 14b42e0978..84cf82c561 100644 --- a/include/emp/data/DataInterface.hpp +++ b/include/emp/data/DataInterface.hpp @@ -10,6 +10,7 @@ #ifndef EMP_DATA_DATAINTERFACE_HPP_INCLUDE #define EMP_DATA_DATAINTERFACE_HPP_INCLUDE +#include #include "DataNode.hpp" diff --git a/include/emp/data/DataLayout.hpp b/include/emp/data/DataLayout.hpp index 6e0700167f..fd460569a3 100644 --- a/include/emp/data/DataLayout.hpp +++ b/include/emp/data/DataLayout.hpp @@ -11,6 +11,7 @@ #ifndef EMP_DATA_DATALAYOUT_HPP_INCLUDE #define EMP_DATA_DATALAYOUT_HPP_INCLUDE +#include #include #include diff --git a/include/emp/data/DataLog.hpp b/include/emp/data/DataLog.hpp index 20022e530b..8a13a52304 100644 --- a/include/emp/data/DataLog.hpp +++ b/include/emp/data/DataLog.hpp @@ -14,6 +14,7 @@ #include #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/data/DataManager.hpp b/include/emp/data/DataManager.hpp index 58f1febb98..72cdd48a5f 100644 --- a/include/emp/data/DataManager.hpp +++ b/include/emp/data/DataManager.hpp @@ -11,6 +11,7 @@ #define EMP_DATA_DATAMANAGER_HPP_INCLUDE #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/data/DataMap.hpp b/include/emp/data/DataMap.hpp index a7d7deb435..3e0bc3eb2a 100644 --- a/include/emp/data/DataMap.hpp +++ b/include/emp/data/DataMap.hpp @@ -86,6 +86,7 @@ #define EMP_DATA_DATAMAP_HPP_INCLUDE #include // For std::memcpy +#include #include #include "../base/assert.hpp" diff --git a/include/emp/data/DataNode.hpp b/include/emp/data/DataNode.hpp index 031db1ab00..fd36dd8f2d 100644 --- a/include/emp/data/DataNode.hpp +++ b/include/emp/data/DataNode.hpp @@ -26,6 +26,7 @@ #include #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/data/MemoryImage.hpp b/include/emp/data/MemoryImage.hpp index 1bc0078afa..86bec3f8de 100644 --- a/include/emp/data/MemoryImage.hpp +++ b/include/emp/data/MemoryImage.hpp @@ -14,6 +14,7 @@ #include // For std::memcpy #include // For placement new +#include #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/data/Trait.hpp b/include/emp/data/Trait.hpp index 92cf00f316..09397e90bc 100644 --- a/include/emp/data/Trait.hpp +++ b/include/emp/data/Trait.hpp @@ -13,6 +13,7 @@ #ifndef EMP_DATA_TRAIT_HPP_INCLUDE #define EMP_DATA_TRAIT_HPP_INCLUDE +#include #include #include "../base/assert.hpp" diff --git a/include/emp/data/VarMap.hpp b/include/emp/data/VarMap.hpp index 30132b2ac1..b5eb472c37 100644 --- a/include/emp/data/VarMap.hpp +++ b/include/emp/data/VarMap.hpp @@ -11,6 +11,7 @@ #ifndef EMP_DATA_VARMAP_HPP_INCLUDE #define EMP_DATA_VARMAP_HPP_INCLUDE +#include #include #include "../base/assert.hpp" diff --git a/include/emp/datastructs/Cache.hpp b/include/emp/datastructs/Cache.hpp index 70e465de4e..836f379a62 100644 --- a/include/emp/datastructs/Cache.hpp +++ b/include/emp/datastructs/Cache.hpp @@ -12,6 +12,7 @@ #define EMP_DATASTRUCTS_CACHE_HPP_INCLUDE #include +#include #include namespace emp { diff --git a/include/emp/datastructs/DynamicString.hpp b/include/emp/datastructs/DynamicString.hpp index a17457c8bf..3a8c208510 100644 --- a/include/emp/datastructs/DynamicString.hpp +++ b/include/emp/datastructs/DynamicString.hpp @@ -13,6 +13,7 @@ #include +#include #include #include "../base/vector.hpp" diff --git a/include/emp/datastructs/Graph.hpp b/include/emp/datastructs/Graph.hpp index 2ba86b5935..fb76210471 100644 --- a/include/emp/datastructs/Graph.hpp +++ b/include/emp/datastructs/Graph.hpp @@ -12,6 +12,7 @@ #define EMP_DATASTRUCTS_GRAPH_HPP_INCLUDE #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/datastructs/IndexMap.hpp b/include/emp/datastructs/IndexMap.hpp index c737694d81..7b8fe30fef 100644 --- a/include/emp/datastructs/IndexMap.hpp +++ b/include/emp/datastructs/IndexMap.hpp @@ -15,6 +15,8 @@ #ifndef EMP_DATASTRUCTS_INDEXMAP_HPP_INCLUDE #define EMP_DATASTRUCTS_INDEXMAP_HPP_INCLUDE +#include + #include "../base/vector.hpp" namespace emp { diff --git a/include/emp/datastructs/QueueCache.hpp b/include/emp/datastructs/QueueCache.hpp index 2205c73282..4a2c9f8bc4 100644 --- a/include/emp/datastructs/QueueCache.hpp +++ b/include/emp/datastructs/QueueCache.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/datastructs/SmallFifoMap.hpp b/include/emp/datastructs/SmallFifoMap.hpp index 82bfb5c642..c71cd07c95 100644 --- a/include/emp/datastructs/SmallFifoMap.hpp +++ b/include/emp/datastructs/SmallFifoMap.hpp @@ -13,6 +13,7 @@ #define EMP_DATASTRUCTS_SMALLFIFOMAP_HPP_INCLUDE #include +#include #include #include "../base/array.hpp" diff --git a/include/emp/datastructs/StringMap.hpp b/include/emp/datastructs/StringMap.hpp index 14fc22af87..230da41913 100644 --- a/include/emp/datastructs/StringMap.hpp +++ b/include/emp/datastructs/StringMap.hpp @@ -22,6 +22,7 @@ #ifndef EMP_DATASTRUCTS_STRINGMAP_HPP_INCLUDE #define EMP_DATASTRUCTS_STRINGMAP_HPP_INCLUDE +#include #include "../base/unordered_map.hpp" #include "../tools/string_utils.hpp" diff --git a/include/emp/datastructs/TimeQueue.hpp b/include/emp/datastructs/TimeQueue.hpp index ce2bb6e70f..504ba17e65 100644 --- a/include/emp/datastructs/TimeQueue.hpp +++ b/include/emp/datastructs/TimeQueue.hpp @@ -49,6 +49,7 @@ #include #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/datastructs/TypeMap.hpp b/include/emp/datastructs/TypeMap.hpp index a7327dae44..290f867750 100644 --- a/include/emp/datastructs/TypeMap.hpp +++ b/include/emp/datastructs/TypeMap.hpp @@ -11,6 +11,7 @@ #ifndef EMP_DATASTRUCTS_TYPEMAP_HPP_INCLUDE #define EMP_DATASTRUCTS_TYPEMAP_HPP_INCLUDE +#include #include #include "../meta/TypeID.hpp" diff --git a/include/emp/datastructs/UnorderedIndexMap.hpp b/include/emp/datastructs/UnorderedIndexMap.hpp index c24a72570b..16b5c92692 100644 --- a/include/emp/datastructs/UnorderedIndexMap.hpp +++ b/include/emp/datastructs/UnorderedIndexMap.hpp @@ -14,6 +14,8 @@ #ifndef EMP_DATASTRUCTS_UNORDEREDINDEXMAP_HPP_INCLUDE #define EMP_DATASTRUCTS_UNORDEREDINDEXMAP_HPP_INCLUDE +#include + #include "../base/vector.hpp" namespace emp { diff --git a/include/emp/datastructs/graph_utils.hpp b/include/emp/datastructs/graph_utils.hpp index ab5439d01b..ee166a3095 100644 --- a/include/emp/datastructs/graph_utils.hpp +++ b/include/emp/datastructs/graph_utils.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include diff --git a/include/emp/datastructs/ra_set.hpp b/include/emp/datastructs/ra_set.hpp index 62aa079b17..f5316a6be7 100644 --- a/include/emp/datastructs/ra_set.hpp +++ b/include/emp/datastructs/ra_set.hpp @@ -12,6 +12,7 @@ #define EMP_DATASTRUCTS_RA_SET_HPP_INCLUDE #include +#include #include "../base/map.hpp" #include "../base/vector.hpp" diff --git a/include/emp/datastructs/reference_vector.hpp b/include/emp/datastructs/reference_vector.hpp index 931b272380..5cd6e2129c 100644 --- a/include/emp/datastructs/reference_vector.hpp +++ b/include/emp/datastructs/reference_vector.hpp @@ -11,6 +11,8 @@ #ifndef EMP_DATASTRUCTS_REFERENCE_VECTOR_HPP_INCLUDE #define EMP_DATASTRUCTS_REFERENCE_VECTOR_HPP_INCLUDE +#include + #include "../base/Ptr.hpp" #include "../base/vector.hpp" diff --git a/include/emp/datastructs/tuple_utils.hpp b/include/emp/datastructs/tuple_utils.hpp index 3f1e028009..4bb85f847e 100644 --- a/include/emp/datastructs/tuple_utils.hpp +++ b/include/emp/datastructs/tuple_utils.hpp @@ -12,6 +12,7 @@ #define EMP_DATASTRUCTS_TUPLE_UTILS_HPP_INCLUDE #include +#include #include #include "../meta/ValPack.hpp" diff --git a/include/emp/datastructs/valsort_map.hpp b/include/emp/datastructs/valsort_map.hpp index 3faf29b382..64a1b38a4e 100644 --- a/include/emp/datastructs/valsort_map.hpp +++ b/include/emp/datastructs/valsort_map.hpp @@ -20,6 +20,7 @@ #include #include +#include #include "../base/vector.hpp" diff --git a/include/emp/datastructs/vector_utils.hpp b/include/emp/datastructs/vector_utils.hpp index d30f02de66..95891350a4 100644 --- a/include/emp/datastructs/vector_utils.hpp +++ b/include/emp/datastructs/vector_utils.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include "../base/vector.hpp" #include "../tools/string_utils.hpp" diff --git a/include/emp/debug/alert.hpp b/include/emp/debug/alert.hpp index 70be769cd2..a6b667cf4d 100644 --- a/include/emp/debug/alert.hpp +++ b/include/emp/debug/alert.hpp @@ -11,6 +11,8 @@ #ifndef EMP_DEBUG_ALERT_HPP_INCLUDE #define EMP_DEBUG_ALERT_HPP_INCLUDE +#include + #include "../tools/string_utils.hpp" // If we are in emscripten, make sure to include the header. diff --git a/include/emp/functional/AnyFunction.hpp b/include/emp/functional/AnyFunction.hpp index 63ac2d5ba6..14d96381ac 100644 --- a/include/emp/functional/AnyFunction.hpp +++ b/include/emp/functional/AnyFunction.hpp @@ -14,6 +14,7 @@ #define EMP_FUNCTIONAL_ANYFUNCTION_HPP_INCLUDE #include +#include #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/functional/FunctionSet.hpp b/include/emp/functional/FunctionSet.hpp index 46d5c1fce8..31cf6f4fc3 100644 --- a/include/emp/functional/FunctionSet.hpp +++ b/include/emp/functional/FunctionSet.hpp @@ -12,6 +12,7 @@ #define EMP_FUNCTIONAL_FUNCTIONSET_HPP_INCLUDE #include +#include #include "../base/vector.hpp" diff --git a/include/emp/functional/GenericFunction.hpp b/include/emp/functional/GenericFunction.hpp index e8e3240aad..bc5095cfce 100644 --- a/include/emp/functional/GenericFunction.hpp +++ b/include/emp/functional/GenericFunction.hpp @@ -15,6 +15,7 @@ #define EMP_FUNCTIONAL_GENERICFUNCTION_HPP_INCLUDE #include +#include #include "../base/assert.hpp" diff --git a/include/emp/functional/flex_function.hpp b/include/emp/functional/flex_function.hpp index 191d24273a..1e757b3562 100644 --- a/include/emp/functional/flex_function.hpp +++ b/include/emp/functional/flex_function.hpp @@ -13,6 +13,7 @@ #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/functional/memo_function.hpp b/include/emp/functional/memo_function.hpp index e802cafe54..9b81787292 100644 --- a/include/emp/functional/memo_function.hpp +++ b/include/emp/functional/memo_function.hpp @@ -11,6 +11,7 @@ #ifndef EMP_FUNCTIONAL_MEMO_FUNCTION_HPP_INCLUDE #define EMP_FUNCTIONAL_MEMO_FUNCTION_HPP_INCLUDE +#include #include #include "../base/assert.hpp" diff --git a/include/emp/games/Mancala.hpp b/include/emp/games/Mancala.hpp index b3518374af..ed28e02f85 100644 --- a/include/emp/games/Mancala.hpp +++ b/include/emp/games/Mancala.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "../base/array.hpp" diff --git a/include/emp/games/Othello.hpp b/include/emp/games/Othello.hpp index a3d17530a3..f37e4f4e14 100644 --- a/include/emp/games/Othello.hpp +++ b/include/emp/games/Othello.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include "../base/array.hpp" diff --git a/include/emp/games/Othello8.hpp b/include/emp/games/Othello8.hpp index c327ca5083..a0851194e7 100644 --- a/include/emp/games/Othello8.hpp +++ b/include/emp/games/Othello8.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include "../base/array.hpp" diff --git a/include/emp/games/PayoffMatrix.hpp b/include/emp/games/PayoffMatrix.hpp index 20ea76b3ba..bba247c8e2 100644 --- a/include/emp/games/PayoffMatrix.hpp +++ b/include/emp/games/PayoffMatrix.hpp @@ -11,6 +11,7 @@ #ifndef EMP_GAMES_PAYOFFMATRIX_HPP_INCLUDE #define EMP_GAMES_PAYOFFMATRIX_HPP_INCLUDE +#include #include #include "../base/array.hpp" diff --git a/include/emp/geometry/Body2D.hpp b/include/emp/geometry/Body2D.hpp index 95071cce86..bad63c083c 100644 --- a/include/emp/geometry/Body2D.hpp +++ b/include/emp/geometry/Body2D.hpp @@ -24,6 +24,7 @@ #define EMP_GEOMETRY_BODY2D_HPP_INCLUDE #include +#include #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/geometry/Physics2D.hpp b/include/emp/geometry/Physics2D.hpp index 9fe311607d..1e02c61fcd 100644 --- a/include/emp/geometry/Physics2D.hpp +++ b/include/emp/geometry/Physics2D.hpp @@ -12,6 +12,7 @@ #define EMP_GEOMETRY_PHYSICS2D_HPP_INCLUDE #include +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/geometry/Surface.hpp b/include/emp/geometry/Surface.hpp index decf6d596e..b3581a3f74 100644 --- a/include/emp/geometry/Surface.hpp +++ b/include/emp/geometry/Surface.hpp @@ -20,6 +20,7 @@ #include #include +#include #include "../base/Ptr.hpp" #include "../datastructs/vector_utils.hpp" diff --git a/include/emp/hardware/AvidaCPU_InstLib.hpp b/include/emp/hardware/AvidaCPU_InstLib.hpp index ca00e09969..3293771597 100644 --- a/include/emp/hardware/AvidaCPU_InstLib.hpp +++ b/include/emp/hardware/AvidaCPU_InstLib.hpp @@ -10,6 +10,8 @@ #ifndef EMP_HARDWARE_AVIDACPU_INSTLIB_HPP_INCLUDE #define EMP_HARDWARE_AVIDACPU_INSTLIB_HPP_INCLUDE +#include + #include "../math/math.hpp" #include "InstLib.hpp" diff --git a/include/emp/hardware/AvidaGP.hpp b/include/emp/hardware/AvidaGP.hpp index 2ced1ebf7b..e3efa1a63e 100644 --- a/include/emp/hardware/AvidaGP.hpp +++ b/include/emp/hardware/AvidaGP.hpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "../base/array.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/hardware/BitSorter.hpp b/include/emp/hardware/BitSorter.hpp index dd6d5da4e5..da09f74cab 100644 --- a/include/emp/hardware/BitSorter.hpp +++ b/include/emp/hardware/BitSorter.hpp @@ -11,6 +11,7 @@ #define EMP_HARDWARE_BITSORTER_HPP_INCLUDE #include +#include #include #include "../base/vector.hpp" diff --git a/include/emp/hardware/EventDrivenGP.hpp b/include/emp/hardware/EventDrivenGP.hpp index 1bb670e1d0..300e2756a0 100644 --- a/include/emp/hardware/EventDrivenGP.hpp +++ b/include/emp/hardware/EventDrivenGP.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/hardware/EventLib.hpp b/include/emp/hardware/EventLib.hpp index 4fd9db33e1..d0e0e2f5cb 100644 --- a/include/emp/hardware/EventLib.hpp +++ b/include/emp/hardware/EventLib.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/hardware/Genome.hpp b/include/emp/hardware/Genome.hpp index ad35313162..68e23d199b 100644 --- a/include/emp/hardware/Genome.hpp +++ b/include/emp/hardware/Genome.hpp @@ -11,10 +11,10 @@ #ifndef EMP_HARDWARE_GENOME_HPP_INCLUDE #define EMP_HARDWARE_GENOME_HPP_INCLUDE -#include "../base/Ptr.hpp" - +#include #include "../base/array.hpp" +#include "../base/Ptr.hpp" #include "../base/vector.hpp" #include "../datastructs/map_utils.hpp" #include "../io/File.hpp" diff --git a/include/emp/hardware/InstLib.hpp b/include/emp/hardware/InstLib.hpp index fb4f40cedf..4eb1f55c1c 100644 --- a/include/emp/hardware/InstLib.hpp +++ b/include/emp/hardware/InstLib.hpp @@ -11,6 +11,7 @@ #define EMP_HARDWARE_INSTLIB_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/hardware/LinearCode.hpp b/include/emp/hardware/LinearCode.hpp index 17d0f2d9bd..d2bda8af7d 100644 --- a/include/emp/hardware/LinearCode.hpp +++ b/include/emp/hardware/LinearCode.hpp @@ -10,6 +10,8 @@ #ifndef EMP_HARDWARE_LINEARCODE_HPP_INCLUDE #define EMP_HARDWARE_LINEARCODE_HPP_INCLUDE +#include + #include "../base/array.hpp" #include "../base/vector.hpp" diff --git a/include/emp/hardware/signalgp_utils.hpp b/include/emp/hardware/signalgp_utils.hpp index 16d07da10b..a34ab02105 100644 --- a/include/emp/hardware/signalgp_utils.hpp +++ b/include/emp/hardware/signalgp_utils.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/in_progress/BatchConfig.hpp b/include/emp/in_progress/BatchConfig.hpp index 756b897bc2..34d48285cf 100644 --- a/include/emp/in_progress/BatchConfig.hpp +++ b/include/emp/in_progress/BatchConfig.hpp @@ -13,6 +13,7 @@ #define EMP_IN_PROGRESS_BATCHCONFIG_HPP_INCLUDE #include +#include #include "../base/vector.hpp" diff --git a/include/emp/in_progress/Empower/Empower.hpp b/include/emp/in_progress/Empower/Empower.hpp index 5e9f8ba202..a1fefcb8cb 100644 --- a/include/emp/in_progress/Empower/Empower.hpp +++ b/include/emp/in_progress/Empower/Empower.hpp @@ -34,6 +34,7 @@ #include #include +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/in_progress/Empower/MemoryImage.hpp b/include/emp/in_progress/Empower/MemoryImage.hpp index adf3a8e80e..471ad06894 100644 --- a/include/emp/in_progress/Empower/MemoryImage.hpp +++ b/include/emp/in_progress/Empower/MemoryImage.hpp @@ -10,6 +10,8 @@ #ifndef EMP_IN_PROGRESS_EMPOWER_MEMORYIMAGE_HPP_INCLUDE #define EMP_IN_PROGRESS_EMPOWER_MEMORYIMAGE_HPP_INCLUDE +#include + #include "../base/assert.hpp" #include "../base/Ptr.hpp" #include "../base/vector.hpp" diff --git a/include/emp/in_progress/Empower/Struct.hpp b/include/emp/in_progress/Empower/Struct.hpp index efacb088cc..c010ae7429 100644 --- a/include/emp/in_progress/Empower/Struct.hpp +++ b/include/emp/in_progress/Empower/Struct.hpp @@ -10,6 +10,8 @@ #ifndef EMP_IN_PROGRESS_EMPOWER_STRUCT_HPP_INCLUDE #define EMP_IN_PROGRESS_EMPOWER_STRUCT_HPP_INCLUDE +#include + #include "../base/assert.hpp" #include "../base/Ptr.hpp" #include "../base/vector.hpp" diff --git a/include/emp/in_progress/Empower/StructType.hpp b/include/emp/in_progress/Empower/StructType.hpp index fb3e31974d..380c2b45cd 100644 --- a/include/emp/in_progress/Empower/StructType.hpp +++ b/include/emp/in_progress/Empower/StructType.hpp @@ -12,6 +12,7 @@ #ifndef EMP_IN_PROGRESS_EMPOWER_STRUCTTYPE_HPP_INCLUDE #define EMP_IN_PROGRESS_EMPOWER_STRUCTTYPE_HPP_INCLUDE +#include #include #include "../base/assert.hpp" diff --git a/include/emp/in_progress/Empower/Type.hpp b/include/emp/in_progress/Empower/Type.hpp index dfaa0fafb8..ea923a4279 100644 --- a/include/emp/in_progress/Empower/Type.hpp +++ b/include/emp/in_progress/Empower/Type.hpp @@ -11,6 +11,7 @@ #define EMP_IN_PROGRESS_EMPOWER_TYPE_HPP_INCLUDE #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/in_progress/Empower/TypeManager.hpp b/include/emp/in_progress/Empower/TypeManager.hpp index 2e2b138b70..be4da7ade6 100644 --- a/include/emp/in_progress/Empower/TypeManager.hpp +++ b/include/emp/in_progress/Empower/TypeManager.hpp @@ -11,6 +11,7 @@ #define EMP_IN_PROGRESS_EMPOWER_TYPEMANAGER_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/in_progress/Empower/Var.hpp b/include/emp/in_progress/Empower/Var.hpp index 84061f3526..ea179b6e46 100644 --- a/include/emp/in_progress/Empower/Var.hpp +++ b/include/emp/in_progress/Empower/Var.hpp @@ -10,6 +10,8 @@ #ifndef EMP_IN_PROGRESS_EMPOWER_VAR_HPP_INCLUDE #define EMP_IN_PROGRESS_EMPOWER_VAR_HPP_INCLUDE +#include + #include "../base/assert.hpp" #include "../base/Ptr.hpp" #include "../meta/TypeID.hpp" diff --git a/include/emp/in_progress/Empower/VarInfo.hpp b/include/emp/in_progress/Empower/VarInfo.hpp index 7d0e30477d..c3be02f10a 100644 --- a/include/emp/in_progress/Empower/VarInfo.hpp +++ b/include/emp/in_progress/Empower/VarInfo.hpp @@ -10,6 +10,8 @@ #ifndef EMP_IN_PROGRESS_EMPOWER_VARINFO_HPP_INCLUDE #define EMP_IN_PROGRESS_EMPOWER_VARINFO_HPP_INCLUDE +#include + #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/in_progress/Empower2/Var.hpp b/include/emp/in_progress/Empower2/Var.hpp index fd9604f255..8df3a6c7f2 100644 --- a/include/emp/in_progress/Empower2/Var.hpp +++ b/include/emp/in_progress/Empower2/Var.hpp @@ -18,6 +18,7 @@ #ifndef EMP_IN_PROGRESS_EMPOWER2_VAR_HPP_INCLUDE #define EMP_IN_PROGRESS_EMPOWER2_VAR_HPP_INCLUDE +#include #include #include "../base/assert.hpp" diff --git a/include/emp/in_progress/Parser.hpp b/include/emp/in_progress/Parser.hpp index d681d64afa..57fb33643e 100644 --- a/include/emp/in_progress/Parser.hpp +++ b/include/emp/in_progress/Parser.hpp @@ -27,6 +27,7 @@ #define EMP_IN_PROGRESS_PARSER_HPP_INCLUDE #include +#include #include "../base/vector.hpp" #include "../bits/BitVector.hpp" diff --git a/include/emp/in_progress/constexpr/ce_array.hpp b/include/emp/in_progress/constexpr/ce_array.hpp index 74d50281dd..fcc90650e6 100644 --- a/include/emp/in_progress/constexpr/ce_array.hpp +++ b/include/emp/in_progress/constexpr/ce_array.hpp @@ -13,6 +13,7 @@ #ifndef EMP_IN_PROGRESS_CONSTEXPR_CE_ARRAY_HPP_INCLUDE #define EMP_IN_PROGRESS_CONSTEXPR_CE_ARRAY_HPP_INCLUDE +#include #include #include "../base/assert.hpp" diff --git a/include/emp/in_progress/constexpr/ce_random.hpp b/include/emp/in_progress/constexpr/ce_random.hpp index 24f73c05ea..25dd3de6ee 100644 --- a/include/emp/in_progress/constexpr/ce_random.hpp +++ b/include/emp/in_progress/constexpr/ce_random.hpp @@ -46,6 +46,7 @@ #include #include #include +#include #include #include "../math/math.hpp" diff --git a/include/emp/in_progress/constexpr/ce_string.hpp b/include/emp/in_progress/constexpr/ce_string.hpp index 87ff2d7e5d..05b1283f77 100644 --- a/include/emp/in_progress/constexpr/ce_string.hpp +++ b/include/emp/in_progress/constexpr/ce_string.hpp @@ -12,6 +12,7 @@ #ifndef EMP_IN_PROGRESS_CONSTEXPR_CE_STRING_HPP_INCLUDE #define EMP_IN_PROGRESS_CONSTEXPR_CE_STRING_HPP_INCLUDE +#include #include #include diff --git a/include/emp/io/ContiguousStream.hpp b/include/emp/io/ContiguousStream.hpp index 224bd45758..dd343c2908 100644 --- a/include/emp/io/ContiguousStream.hpp +++ b/include/emp/io/ContiguousStream.hpp @@ -12,6 +12,7 @@ #define EMP_IO_CONTIGUOUSSTREAM_HPP_INCLUDE #include +#include #include "../base/vector.hpp" diff --git a/include/emp/io/File.hpp b/include/emp/io/File.hpp index fce046515b..aff1f47545 100644 --- a/include/emp/io/File.hpp +++ b/include/emp/io/File.hpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include "../base/vector.hpp" diff --git a/include/emp/io/MemoryIStream.hpp b/include/emp/io/MemoryIStream.hpp index 040b0d3c84..25cd4d4d39 100644 --- a/include/emp/io/MemoryIStream.hpp +++ b/include/emp/io/MemoryIStream.hpp @@ -12,6 +12,7 @@ #define EMP_IO_MEMORYISTREAM_HPP_INCLUDE #include +#include #include namespace emp { diff --git a/include/emp/io/ascii_utils.hpp b/include/emp/io/ascii_utils.hpp index 5e14132887..985d53ef5f 100644 --- a/include/emp/io/ascii_utils.hpp +++ b/include/emp/io/ascii_utils.hpp @@ -14,6 +14,7 @@ #include #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/matching/MatchBin.hpp b/include/emp/matching/MatchBin.hpp index 22cb215fce..e74a7a836e 100644 --- a/include/emp/matching/MatchBin.hpp +++ b/include/emp/matching/MatchBin.hpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/matching/MatchDepository.hpp b/include/emp/matching/MatchDepository.hpp index 67550bae6a..4818220960 100644 --- a/include/emp/matching/MatchDepository.hpp +++ b/include/emp/matching/MatchDepository.hpp @@ -14,6 +14,7 @@ #include #include +#include #include "../datastructs/SmallFifoMap.hpp" #include "../datastructs/SmallVector.hpp" diff --git a/include/emp/matching/matchbin_metrics.hpp b/include/emp/matching/matchbin_metrics.hpp index 5a2b340c90..b55f7cacf3 100644 --- a/include/emp/matching/matchbin_metrics.hpp +++ b/include/emp/matching/matchbin_metrics.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/matching/matchbin_regulators.hpp b/include/emp/matching/matchbin_regulators.hpp index d6a9bb7398..f922b746a7 100644 --- a/include/emp/matching/matchbin_regulators.hpp +++ b/include/emp/matching/matchbin_regulators.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/matching/matchbin_selectors.hpp b/include/emp/matching/matchbin_selectors.hpp index 1e7057e5c5..14986259c1 100644 --- a/include/emp/matching/matchbin_selectors.hpp +++ b/include/emp/matching/matchbin_selectors.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/matching/selectors_static/RankedSelector.hpp b/include/emp/matching/selectors_static/RankedSelector.hpp index a3d339e45d..fb2bd71330 100644 --- a/include/emp/matching/selectors_static/RankedSelector.hpp +++ b/include/emp/matching/selectors_static/RankedSelector.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "../../base/vector.hpp" #include "../../datastructs/SmallVector.hpp" diff --git a/include/emp/math/Distribution.hpp b/include/emp/math/Distribution.hpp index ccf52b6681..8e93404b06 100644 --- a/include/emp/math/Distribution.hpp +++ b/include/emp/math/Distribution.hpp @@ -27,6 +27,8 @@ #ifndef EMP_MATH_DISTRIBUTION_HPP_INCLUDE #define EMP_MATH_DISTRIBUTION_HPP_INCLUDE +#include + #include "../datastructs/UnorderedIndexMap.hpp" #include "Random.hpp" diff --git a/include/emp/math/Random.hpp b/include/emp/math/Random.hpp index bb903c7f1a..f7a8b826dc 100644 --- a/include/emp/math/Random.hpp +++ b/include/emp/math/Random.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "../base/assert.hpp" #include "../base/Ptr.hpp" diff --git a/include/emp/math/Range.hpp b/include/emp/math/Range.hpp index 11954c2998..2afa64ca96 100644 --- a/include/emp/math/Range.hpp +++ b/include/emp/math/Range.hpp @@ -12,6 +12,7 @@ #define EMP_MATH_RANGE_HPP_INCLUDE #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/math/combos.hpp b/include/emp/math/combos.hpp index 0327fff62b..7ddbfd6c92 100644 --- a/include/emp/math/combos.hpp +++ b/include/emp/math/combos.hpp @@ -21,6 +21,7 @@ #define EMP_MATH_COMBOS_HPP_INCLUDE #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/math/distances.hpp b/include/emp/math/distances.hpp index 3407dc83f9..87b7bef485 100644 --- a/include/emp/math/distances.hpp +++ b/include/emp/math/distances.hpp @@ -11,6 +11,8 @@ #ifndef EMP_MATH_DISTANCES_HPP_INCLUDE #define EMP_MATH_DISTANCES_HPP_INCLUDE +#include + #include "../meta/type_traits.hpp" #include "math.hpp" diff --git a/include/emp/math/math.hpp b/include/emp/math/math.hpp index b2250650ed..435c166d3a 100644 --- a/include/emp/math/math.hpp +++ b/include/emp/math/math.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "../base/assert.hpp" #include "../meta/reflection.hpp" diff --git a/include/emp/math/random_utils.hpp b/include/emp/math/random_utils.hpp index 7a8aaec4df..5ebd5090b7 100644 --- a/include/emp/math/random_utils.hpp +++ b/include/emp/math/random_utils.hpp @@ -12,6 +12,7 @@ #define EMP_MATH_RANDOM_UTILS_HPP_INCLUDE #include +#include #include "../base/vector.hpp" #include "../bits/BitVector.hpp" diff --git a/include/emp/math/sequence_utils.hpp b/include/emp/math/sequence_utils.hpp index f61c148ce7..2b36cce234 100644 --- a/include/emp/math/sequence_utils.hpp +++ b/include/emp/math/sequence_utils.hpp @@ -14,6 +14,8 @@ #ifndef EMP_MATH_SEQUENCE_UTILS_HPP_INCLUDE #define EMP_MATH_SEQUENCE_UTILS_HPP_INCLUDE +#include + #include "../base/vector.hpp" #include "math.hpp" diff --git a/include/emp/math/spatial_stats.hpp b/include/emp/math/spatial_stats.hpp index f471d142ff..28ab32d6cc 100644 --- a/include/emp/math/spatial_stats.hpp +++ b/include/emp/math/spatial_stats.hpp @@ -12,6 +12,7 @@ #define EMP_MATH_SPATIAL_STATS_HPP_INCLUDE #include +#include #include "../base/vector.hpp" #include "../Evolve/World.hpp" diff --git a/include/emp/meta/ConceptWrapper.hpp b/include/emp/meta/ConceptWrapper.hpp index 36d024e13a..0aca2fec1c 100644 --- a/include/emp/meta/ConceptWrapper.hpp +++ b/include/emp/meta/ConceptWrapper.hpp @@ -97,6 +97,7 @@ #ifndef EMP_META_CONCEPTWRAPPER_HPP_INCLUDE #define EMP_META_CONCEPTWRAPPER_HPP_INCLUDE +#include #include #include diff --git a/include/emp/meta/TypeID.hpp b/include/emp/meta/TypeID.hpp index a5fddd4ee9..e12f5c4e4d 100644 --- a/include/emp/meta/TypeID.hpp +++ b/include/emp/meta/TypeID.hpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include "../base/Ptr.hpp" diff --git a/include/emp/meta/TypePack.hpp b/include/emp/meta/TypePack.hpp index 74f38a8647..0b7a73fccf 100644 --- a/include/emp/meta/TypePack.hpp +++ b/include/emp/meta/TypePack.hpp @@ -69,6 +69,8 @@ #ifndef EMP_META_TYPEPACK_HPP_INCLUDE #define EMP_META_TYPEPACK_HPP_INCLUDE +#include + #include "meta.hpp" namespace emp { diff --git a/include/emp/meta/ValPack.hpp b/include/emp/meta/ValPack.hpp index 3fbcf45024..e2a73bd881 100644 --- a/include/emp/meta/ValPack.hpp +++ b/include/emp/meta/ValPack.hpp @@ -12,11 +12,12 @@ #ifndef EMP_META_VALPACK_HPP_INCLUDE #define EMP_META_VALPACK_HPP_INCLUDE +#include +#include +#include #include "meta.hpp" -#include -#include namespace emp { diff --git a/include/emp/meta/meta.hpp b/include/emp/meta/meta.hpp index af32c39d37..a8c7a9c47c 100644 --- a/include/emp/meta/meta.hpp +++ b/include/emp/meta/meta.hpp @@ -16,6 +16,7 @@ #define EMP_META_META_HPP_INCLUDE #include +#include #include #include diff --git a/include/emp/meta/type_traits.hpp b/include/emp/meta/type_traits.hpp index dd90e41493..defdfa45b4 100644 --- a/include/emp/meta/type_traits.hpp +++ b/include/emp/meta/type_traits.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/include/emp/prefab/ConfigPanel.hpp b/include/emp/prefab/ConfigPanel.hpp index 7c6b5e3916..fa8822c393 100644 --- a/include/emp/prefab/ConfigPanel.hpp +++ b/include/emp/prefab/ConfigPanel.hpp @@ -11,6 +11,7 @@ #define EMP_PREFAB_CONFIGPANEL_HPP_INCLUDE #include +#include #include "../datastructs/set_utils.hpp" #include "../tools/string_utils.hpp" diff --git a/include/emp/scholar/Author.hpp b/include/emp/scholar/Author.hpp index dd7ee5ea6d..dec00b5a1a 100644 --- a/include/emp/scholar/Author.hpp +++ b/include/emp/scholar/Author.hpp @@ -16,6 +16,7 @@ #ifndef EMP_SCHOLAR_AUTHOR_HPP_INCLUDE #define EMP_SCHOLAR_AUTHOR_HPP_INCLUDE +#include #include #include "../compiler/Lexer.hpp" diff --git a/include/emp/scholar/Citation.hpp b/include/emp/scholar/Citation.hpp index 15d90fcc65..0035337979 100644 --- a/include/emp/scholar/Citation.hpp +++ b/include/emp/scholar/Citation.hpp @@ -12,6 +12,7 @@ #include #include +#include #include #include "../base/map.hpp" diff --git a/include/emp/testing/unit_tests.hpp b/include/emp/testing/unit_tests.hpp index 0c8abe4b3b..f6293aa61d 100644 --- a/include/emp/testing/unit_tests.hpp +++ b/include/emp/testing/unit_tests.hpp @@ -19,6 +19,7 @@ #include #include +#include #include "../config/command_line.hpp" #include "../meta/macros.hpp" diff --git a/include/emp/tools/SolveState.hpp b/include/emp/tools/SolveState.hpp index 933107a75e..c3916102f1 100644 --- a/include/emp/tools/SolveState.hpp +++ b/include/emp/tools/SolveState.hpp @@ -11,9 +11,9 @@ #ifndef EMP_TOOLS_SOLVESTATE_HPP_INCLUDE #define EMP_TOOLS_SOLVESTATE_HPP_INCLUDE +#include #include "../base/assert.hpp" - #include "../bits/BitVector.hpp" namespace emp { diff --git a/include/emp/tools/TypeTracker.hpp b/include/emp/tools/TypeTracker.hpp index bb0b8b3dcb..3512f57e29 100644 --- a/include/emp/tools/TypeTracker.hpp +++ b/include/emp/tools/TypeTracker.hpp @@ -21,6 +21,7 @@ #ifndef EMP_TOOLS_TYPETRACKER_HPP_INCLUDE #define EMP_TOOLS_TYPETRACKER_HPP_INCLUDE +#include #include #include "../base/array.hpp" diff --git a/include/emp/tools/attrs.hpp b/include/emp/tools/attrs.hpp index b1dcbcaf17..3cba605d92 100644 --- a/include/emp/tools/attrs.hpp +++ b/include/emp/tools/attrs.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/tools/hash_namify.hpp b/include/emp/tools/hash_namify.hpp index b7a89346d4..a24a11b8e4 100644 --- a/include/emp/tools/hash_namify.hpp +++ b/include/emp/tools/hash_namify.hpp @@ -10,6 +10,7 @@ #ifndef EMP_TOOLS_HASH_NAMIFY_HPP_INCLUDE #define EMP_TOOLS_HASH_NAMIFY_HPP_INCLUDE +#include #include #include "../base/vector.hpp" diff --git a/include/emp/tools/string_utils.hpp b/include/emp/tools/string_utils.hpp index 1c568240b3..ec54e7c893 100644 --- a/include/emp/tools/string_utils.hpp +++ b/include/emp/tools/string_utils.hpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/tools/unique.hpp b/include/emp/tools/unique.hpp index 50fbc6911f..afe5830b5d 100644 --- a/include/emp/tools/unique.hpp +++ b/include/emp/tools/unique.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "../base/assert.hpp" diff --git a/include/emp/web/Animate.hpp b/include/emp/web/Animate.hpp index e45039136f..40dbfdd9f2 100644 --- a/include/emp/web/Animate.hpp +++ b/include/emp/web/Animate.hpp @@ -15,8 +15,8 @@ #ifndef EMP_WEB_ANIMATE_HPP_INCLUDE #define EMP_WEB_ANIMATE_HPP_INCLUDE - #include +#include #include "../base/assert.hpp" #include "../base/vector.hpp" diff --git a/include/emp/web/CanvasShape.hpp b/include/emp/web/CanvasShape.hpp index 59d9c6ce07..e29bf952c7 100644 --- a/include/emp/web/CanvasShape.hpp +++ b/include/emp/web/CanvasShape.hpp @@ -16,7 +16,7 @@ #ifndef EMP_WEB_CANVASSHAPE_HPP_INCLUDE #define EMP_WEB_CANVASSHAPE_HPP_INCLUDE - +#include #include #include "../base/vector.hpp" diff --git a/include/emp/web/JSWrap.hpp b/include/emp/web/JSWrap.hpp index 9d6b9c75d9..218f47209f 100644 --- a/include/emp/web/JSWrap.hpp +++ b/include/emp/web/JSWrap.hpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/web/Listeners.hpp b/include/emp/web/Listeners.hpp index 43fabef042..bec13a4908 100644 --- a/include/emp/web/Listeners.hpp +++ b/include/emp/web/Listeners.hpp @@ -19,6 +19,7 @@ #include "../tools/string_utils.hpp" #include +#include #include namespace emp { diff --git a/include/emp/web/RawImage.hpp b/include/emp/web/RawImage.hpp index 3e4f453c68..8d6fb21f8e 100644 --- a/include/emp/web/RawImage.hpp +++ b/include/emp/web/RawImage.hpp @@ -12,6 +12,7 @@ #include #include +#include #include #include diff --git a/include/emp/web/Selector.hpp b/include/emp/web/Selector.hpp index a63fc4f838..8dbf609e9a 100644 --- a/include/emp/web/Selector.hpp +++ b/include/emp/web/Selector.hpp @@ -24,6 +24,7 @@ #ifndef EMP_WEB_SELECTOR_HPP_INCLUDE #define EMP_WEB_SELECTOR_HPP_INCLUDE +#include #include "../base/vector.hpp" diff --git a/include/emp/web/Style.hpp b/include/emp/web/Style.hpp index 73a3f032bd..567d364656 100644 --- a/include/emp/web/Style.hpp +++ b/include/emp/web/Style.hpp @@ -20,6 +20,7 @@ #include #include +#include #include namespace emp { diff --git a/include/emp/web/Table.hpp b/include/emp/web/Table.hpp index 3700a181bb..7182f23193 100644 --- a/include/emp/web/Table.hpp +++ b/include/emp/web/Table.hpp @@ -27,6 +27,8 @@ #ifndef EMP_WEB_TABLE_HPP_INCLUDE #define EMP_WEB_TABLE_HPP_INCLUDE +#include + #include "../base/vector.hpp" #include "Div.hpp" diff --git a/include/emp/web/Text.hpp b/include/emp/web/Text.hpp index 1e28d868c9..84e5f2a65f 100644 --- a/include/emp/web/Text.hpp +++ b/include/emp/web/Text.hpp @@ -15,6 +15,8 @@ #ifndef EMP_WEB_TEXT_HPP_INCLUDE #define EMP_WEB_TEXT_HPP_INCLUDE +#include + #include "../datastructs/DynamicString.hpp" #include "Widget.hpp" diff --git a/include/emp/web/Tween.hpp b/include/emp/web/Tween.hpp index b832f01960..0bd380b141 100644 --- a/include/emp/web/Tween.hpp +++ b/include/emp/web/Tween.hpp @@ -32,9 +32,9 @@ #ifndef EMP_WEB_TWEEN_HPP_INCLUDE #define EMP_WEB_TWEEN_HPP_INCLUDE +#include #include "emfunctions.hpp" - #include "Widget.hpp" diff --git a/include/emp/web/Widget.hpp b/include/emp/web/Widget.hpp index 242b0398d5..60c7981302 100644 --- a/include/emp/web/Widget.hpp +++ b/include/emp/web/Widget.hpp @@ -33,6 +33,7 @@ #define EMP_WEB_WIDGET_HPP_INCLUDE +#include #include #include "../base/errors.hpp" diff --git a/include/emp/web/_MochaTestRunner.hpp b/include/emp/web/_MochaTestRunner.hpp index 14449b2e36..220968f261 100644 --- a/include/emp/web/_MochaTestRunner.hpp +++ b/include/emp/web/_MochaTestRunner.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/include/emp/web/_TableCell.hpp b/include/emp/web/_TableCell.hpp index 6d3f037e97..535a973f75 100644 --- a/include/emp/web/_TableCell.hpp +++ b/include/emp/web/_TableCell.hpp @@ -12,6 +12,8 @@ #ifndef EMP_WEB__TABLECELL_HPP_INCLUDE #define EMP_WEB__TABLECELL_HPP_INCLUDE +#include + #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace emp { diff --git a/include/emp/web/_TableCol.hpp b/include/emp/web/_TableCol.hpp index daeaa86e93..d438f10014 100644 --- a/include/emp/web/_TableCol.hpp +++ b/include/emp/web/_TableCol.hpp @@ -12,6 +12,8 @@ #ifndef EMP_WEB__TABLECOL_HPP_INCLUDE #define EMP_WEB__TABLECOL_HPP_INCLUDE +#include + #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace emp { diff --git a/include/emp/web/_TableColGroup.hpp b/include/emp/web/_TableColGroup.hpp index c3b4eb7d09..f0ec97fe57 100644 --- a/include/emp/web/_TableColGroup.hpp +++ b/include/emp/web/_TableColGroup.hpp @@ -12,6 +12,8 @@ #ifndef EMP_WEB__TABLECOLGROUP_HPP_INCLUDE #define EMP_WEB__TABLECOLGROUP_HPP_INCLUDE +#include + #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace emp { diff --git a/include/emp/web/_TableRow.hpp b/include/emp/web/_TableRow.hpp index 16289f02ee..88cd7003f4 100644 --- a/include/emp/web/_TableRow.hpp +++ b/include/emp/web/_TableRow.hpp @@ -12,6 +12,8 @@ #ifndef EMP_WEB__TABLEROW_HPP_INCLUDE #define EMP_WEB__TABLEROW_HPP_INCLUDE +#include + #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace emp { diff --git a/include/emp/web/_TableRowGroup.hpp b/include/emp/web/_TableRowGroup.hpp index 354299d91c..e18b0deb7a 100644 --- a/include/emp/web/_TableRowGroup.hpp +++ b/include/emp/web/_TableRowGroup.hpp @@ -12,6 +12,8 @@ #ifndef EMP_WEB__TABLEROWGROUP_HPP_INCLUDE #define EMP_WEB__TABLEROWGROUP_HPP_INCLUDE +#include + #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace emp { diff --git a/include/emp/web/canvas_utils.hpp b/include/emp/web/canvas_utils.hpp index d6018050f8..888786ca0b 100644 --- a/include/emp/web/canvas_utils.hpp +++ b/include/emp/web/canvas_utils.hpp @@ -13,6 +13,8 @@ #ifndef EMP_WEB_CANVAS_UTILS_HPP_INCLUDE #define EMP_WEB_CANVAS_UTILS_HPP_INCLUDE +#include + #include "../base/vector.hpp" #include "../bits/BitMatrix.hpp" #include "../Evolve/StateGrid.hpp" diff --git a/include/emp/web/color_map.hpp b/include/emp/web/color_map.hpp index db559d58aa..86b2035404 100644 --- a/include/emp/web/color_map.hpp +++ b/include/emp/web/color_map.hpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/include/emp/web/d3/axis.hpp b/include/emp/web/d3/axis.hpp index 93dbfb4808..0df1f84ba3 100644 --- a/include/emp/web/d3/axis.hpp +++ b/include/emp/web/d3/axis.hpp @@ -10,6 +10,8 @@ #ifndef EMP_WEB_D3_AXIS_HPP_INCLUDE #define EMP_WEB_D3_AXIS_HPP_INCLUDE +#include + #include "../../tools/string_utils.hpp" #include "../js_utils.hpp" diff --git a/include/emp/web/d3/dataset.hpp b/include/emp/web/d3/dataset.hpp index 9691de5f5c..e736d0d34c 100644 --- a/include/emp/web/d3/dataset.hpp +++ b/include/emp/web/d3/dataset.hpp @@ -12,6 +12,7 @@ #include #include +#include #include "d3_init.hpp" diff --git a/include/emp/web/d3/scales.hpp b/include/emp/web/d3/scales.hpp index 0b80faa2d3..29bf38689b 100644 --- a/include/emp/web/d3/scales.hpp +++ b/include/emp/web/d3/scales.hpp @@ -10,6 +10,8 @@ #ifndef EMP_WEB_D3_SCALES_HPP_INCLUDE #define EMP_WEB_D3_SCALES_HPP_INCLUDE +#include + #include "d3_init.hpp" #include "utils.hpp" diff --git a/include/emp/web/d3/svg_shapes.hpp b/include/emp/web/d3/svg_shapes.hpp index b0860f3cc1..0c9fa1ccca 100644 --- a/include/emp/web/d3/svg_shapes.hpp +++ b/include/emp/web/d3/svg_shapes.hpp @@ -10,6 +10,8 @@ #ifndef EMP_WEB_D3_SVG_SHAPES_HPP_INCLUDE #define EMP_WEB_D3_SVG_SHAPES_HPP_INCLUDE +#include + #include "../js_utils.hpp" #include "d3_init.hpp" diff --git a/include/emp/web/events.hpp b/include/emp/web/events.hpp index 41450a855c..91b5d31f57 100644 --- a/include/emp/web/events.hpp +++ b/include/emp/web/events.hpp @@ -18,6 +18,7 @@ #ifndef EMP_WEB_EVENTS_HPP_INCLUDE #define EMP_WEB_EVENTS_HPP_INCLUDE +#include #include #include "JSWrap.hpp" diff --git a/include/emp/web/js_utils.hpp b/include/emp/web/js_utils.hpp index 4cd48202b1..8b4e707c4d 100644 --- a/include/emp/web/js_utils.hpp +++ b/include/emp/web/js_utils.hpp @@ -11,6 +11,7 @@ #define EMP_WEB_JS_UTILS_HPP_INCLUDE #include +#include #include #include