From 03a20b9b940da7c7dfc8d2aadf41b5896e62b3db Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Thu, 27 Apr 2023 00:42:25 +0200 Subject: [PATCH] Fix the build on GCC 13.0 This adds #include in a couple places. It also fixes a huge amount of warnings due to "concept" becoming a keyword in C++20 --- .../src/TemporaryPairwiseCollisionFilter.h | 2 +- libraries/shared/src/CPUIdent.h | 1 + libraries/task/src/task/Task.h | 56 +++++++++---------- 3 files changed, 30 insertions(+), 29 deletions(-) diff --git a/libraries/physics/src/TemporaryPairwiseCollisionFilter.h b/libraries/physics/src/TemporaryPairwiseCollisionFilter.h index 4c3f52ba1b..e772e5f821 100644 --- a/libraries/physics/src/TemporaryPairwiseCollisionFilter.h +++ b/libraries/physics/src/TemporaryPairwiseCollisionFilter.h @@ -14,7 +14,7 @@ #include #include - +#include class TemporaryPairwiseCollisionFilter { public: using LastContactMap = std::unordered_map; diff --git a/libraries/shared/src/CPUIdent.h b/libraries/shared/src/CPUIdent.h index d7bf03002b..6ec5188261 100644 --- a/libraries/shared/src/CPUIdent.h +++ b/libraries/shared/src/CPUIdent.h @@ -22,6 +22,7 @@ #include #include #include +#include class CPUIdent { diff --git a/libraries/task/src/task/Task.h b/libraries/task/src/task/Task.h index 0ee458f3ea..e79542dc40 100644 --- a/libraries/task/src/task/Task.h +++ b/libraries/task/src/task/Task.h @@ -71,7 +71,7 @@ public: JobConcept(const std::string& name, QConfigPointer config) : _config(config), _name(name) { config->_jobConcept = this; } virtual ~JobConcept() = default; - + const std::string& getName() const { return _name; } virtual const Varying getInput() const { return Varying(); } @@ -165,7 +165,7 @@ public: // Capture this Concept::_config->_jobConcept = this; } - + void applyConfiguration() override { TimeProfiler probe(("configure::" + JobConcept::getName())); @@ -185,40 +185,40 @@ public: template using ModelIO = Model; Job() {} - Job(const ConceptPointer& concept) : _concept(concept) {} + Job(const ConceptPointer& conceptPtr) : _conceptPtr(conceptPtr) {} virtual ~Job() = default; - const std::string& getName() const { return _concept->getName(); } - const Varying getInput() const { return _concept->getInput(); } - const Varying getOutput() const { return _concept->getOutput(); } + const std::string& getName() const { return _conceptPtr->getName(); } + const Varying getInput() const { return _conceptPtr->getInput(); } + const Varying getOutput() const { return _conceptPtr->getOutput(); } - QConfigPointer& getConfiguration() const { return _concept->getConfiguration(); } - void applyConfiguration() { return _concept->applyConfiguration(); } + QConfigPointer& getConfiguration() const { return _conceptPtr->getConfiguration(); } + void applyConfiguration() { return _conceptPtr->applyConfiguration(); } - template void feedInput(const I& in) { _concept->editInput().template edit() = in; } - template void feedInput(int index, const S& inS) { (_concept->editInput().template editN(index)).template edit() = inS; } + template void feedInput(const I& in) { _conceptPtr->editInput().template edit() = in; } + template void feedInput(int index, const S& inS) { (_conceptPtr->editInput().template editN(index)).template edit() = inS; } template T& edit() { - auto concept = std::static_pointer_cast(_concept); - assert(concept); - return concept->_data; + auto conceptPtr = std::static_pointer_cast(_conceptPtr); + assert(conceptPtr); + return conceptPtr->_data; } template const T& get() const { - auto concept = std::static_pointer_cast(_concept); - assert(concept); - return concept->_data; + auto conceptPtr = std::static_pointer_cast(_conceptPtr); + assert(conceptPtr); + return conceptPtr->_data; } virtual void run(const ContextPointer& jobContext) { TimeProfiler probe(getName()); auto startTime = std::chrono::high_resolution_clock::now(); - _concept->run(jobContext); - _concept->setCPURunTime((std::chrono::high_resolution_clock::now() - startTime)); + _conceptPtr->run(jobContext); + _conceptPtr->setCPURunTime((std::chrono::high_resolution_clock::now() - startTime)); } protected: - ConceptPointer _concept; + ConceptPointer _conceptPtr; }; @@ -242,7 +242,7 @@ public: using ConceptPointer = typename JobType::ConceptPointer; using Jobs = std::vector; - Task(ConceptPointer concept) : JobType(concept) {} + Task(ConceptPointer conceptPtr) : JobType(conceptPtr) {} class TaskConcept : public Concept { public: @@ -347,15 +347,15 @@ public: // Create a new job in the Task's queue; returns the job's output template const Varying addJob(std::string name, const Varying& input, A&&... args) { - return std::static_pointer_cast(JobType::_concept)->template addJob(name, input, std::forward(args)...); + return std::static_pointer_cast(JobType::_conceptPtr)->template addJob(name, input, std::forward(args)...); } template const Varying addJob(std::string name, A&&... args) { const auto input = Varying(typename T::JobModel::Input()); - return std::static_pointer_cast(JobType::_concept)->template addJob(name, input, std::forward(args)...); + return std::static_pointer_cast(JobType::_conceptPtr)->template addJob(name, input, std::forward(args)...); } std::shared_ptr getConfiguration() { - return std::static_pointer_cast(JobType::_concept->getConfiguration()); + return std::static_pointer_cast(JobType::_conceptPtr->getConfiguration()); } }; @@ -380,7 +380,7 @@ public: using ConceptPointer = typename JobType::ConceptPointer; using Branches = std::unordered_map; - Switch(ConceptPointer concept) : JobType(concept) {} + Switch(ConceptPointer conceptPtr) : JobType(conceptPtr) {} class SwitchConcept : public Concept { public: @@ -485,15 +485,15 @@ public: // Create a new job in the Switches' branches; returns the job's output template const Varying addBranch(std::string name, uint8_t index, const Varying& input, A&&... args) { - return std::static_pointer_cast(JobType::_concept)->template addBranch(name, index, input, std::forward(args)...); + return std::static_pointer_cast(JobType::_conceptPtr)->template addBranch(name, index, input, std::forward(args)...); } template const Varying addBranch(std::string name, uint8_t index, A&&... args) { const auto input = Varying(typename T::JobModel::Input()); - return std::static_pointer_cast(JobType::_concept)->template addBranch(name, index, input, std::forward(args)...); + return std::static_pointer_cast(JobType::_conceptPtr)->template addBranch(name, index, input, std::forward(args)...); } std::shared_ptr getConfiguration() { - return std::static_pointer_cast(JobType::_concept->getConfiguration()); + return std::static_pointer_cast(JobType::_conceptPtr->getConfiguration()); } }; @@ -507,7 +507,7 @@ public: using TaskType = Task; using ConceptPointer = typename TaskType::ConceptPointer; - Engine(const ConceptPointer& concept, const ContextPointer& context) : TaskType(concept), _context(context) {} + Engine(const ConceptPointer& conceptPtr, const ContextPointer& context) : TaskType(conceptPtr), _context(context) {} ~Engine() = default; void reset(const ContextPointer& context) { _context = context; }