From 4443ae25d20233a2ec036e493e8f2f865265ca65 Mon Sep 17 00:00:00 2001 From: "Timmer, Daan" Date: Fri, 6 Mar 2026 16:01:26 +0000 Subject: [PATCH] chore: add [[nodiscard]] attribute to relevant methods for better optimization and added std::move where needed --- cucumber_cpp/library/query/Query.hpp | 98 ++++++++++++++-------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/cucumber_cpp/library/query/Query.hpp b/cucumber_cpp/library/query/Query.hpp index e5acf6e0..586ac8e2 100644 --- a/cucumber_cpp/library/query/Query.hpp +++ b/cucumber_cpp/library/query/Query.hpp @@ -51,8 +51,8 @@ namespace cucumber_cpp::library::query { struct Lineage { - std::string GetUniqueFeatureName() const; - std::string GetScenarioAndOrRuleName() const; + [[nodiscard]] std::string GetUniqueFeatureName() const; + [[nodiscard]] std::string GetScenarioAndOrRuleName() const; std::shared_ptr gherkinDocument; std::shared_ptr feature; @@ -65,44 +65,44 @@ namespace cucumber_cpp::library::query friend Lineage operator+(Lineage lineage, std::shared_ptr gherkinDocument) { - lineage.gherkinDocument = gherkinDocument; - return std::move(lineage); + lineage.gherkinDocument = std::move(gherkinDocument); + return lineage; } friend Lineage operator+(Lineage lineage, std::shared_ptr feature) { - lineage.feature = feature; - return std::move(lineage); + lineage.feature = std::move(feature); + return lineage; } friend Lineage operator+(Lineage lineage, std::shared_ptr rule) { - lineage.rule = rule; - return std::move(lineage); + lineage.rule = std::move(rule); + return lineage; } friend Lineage operator+(Lineage lineage, std::shared_ptr scenario) { - lineage.scenario = scenario; - return std::move(lineage); + lineage.scenario = std::move(scenario); + return lineage; } friend Lineage operator+(Lineage lineage, std::shared_ptr examples) { - lineage.examples = examples; - return std::move(lineage); + lineage.examples = std::move(examples); + return lineage; } friend Lineage operator+(Lineage lineage, std::shared_ptr tableRow) { - lineage.tableRow = tableRow; - return std::move(lineage); + lineage.tableRow = std::move(tableRow); + return lineage; } friend Lineage operator+(Lineage lineage, std::uint32_t featureIndex) { lineage.featureIndex = featureIndex; - return std::move(lineage); + return lineage; } }; @@ -117,61 +117,61 @@ namespace cucumber_cpp::library::query { explicit Query(util::Broadcaster& broadcaster); - auto GetPickles() const + [[nodiscard]] auto GetPickles() const { return pickleById | std::views::values; } - const Lineage& FindLineageByPickle(const cucumber::messages::pickle& pickle) const; - const Lineage& FindLineageByUri(const std::string&) const; + [[nodiscard]] const Lineage& FindLineageByPickle(const cucumber::messages::pickle& pickle) const; + [[nodiscard]] const Lineage& FindLineageByUri(const std::string&) const; - const cucumber::messages::parameter_type& FindParameterTypeById(const std::string& id) const; - const cucumber::messages::parameter_type& FindParameterTypeByName(const std::string& name) const; - bool ContainsParameterTypeByName(const std::string& name) const; + [[nodiscard]] const cucumber::messages::parameter_type& FindParameterTypeById(const std::string& id) const; + [[nodiscard]] const cucumber::messages::parameter_type& FindParameterTypeByName(const std::string& name) const; + [[nodiscard]] bool ContainsParameterTypeByName(const std::string& name) const; - const cucumber::messages::test_case& FindTestCaseBy(const cucumber::messages::test_case_started& testCaseStarted) const; - const cucumber::messages::test_case& FindTestCaseById(const std::string& id) const; + [[nodiscard]] const cucumber::messages::test_case& FindTestCaseBy(const cucumber::messages::test_case_started& testCaseStarted) const; + [[nodiscard]] const cucumber::messages::test_case& FindTestCaseById(const std::string& id) const; - const cucumber::messages::pickle& FindPickleBy(const cucumber::messages::test_case_started& testCaseStarted) const; - const cucumber::messages::pickle& FindPickleById(const std::string& id) const; + [[nodiscard]] const cucumber::messages::pickle& FindPickleBy(const cucumber::messages::test_case_started& testCaseStarted) const; + [[nodiscard]] const cucumber::messages::pickle& FindPickleById(const std::string& id) const; - const cucumber::messages::pickle_step* FindPickleStepBy(const cucumber::messages::test_step& testStep) const; - const cucumber::messages::pickle_step& FindPickleStepById(const std::string& id) const; + [[nodiscard]] const cucumber::messages::pickle_step* FindPickleStepBy(const cucumber::messages::test_step& testStep) const; + [[nodiscard]] const cucumber::messages::pickle_step& FindPickleStepById(const std::string& id) const; - const cucumber::messages::test_step& FindTestStepBy(const cucumber::messages::test_step_finished& testStepFinished) const; + [[nodiscard]] const cucumber::messages::test_step& FindTestStepBy(const cucumber::messages::test_step_finished& testStepFinished) const; - const cucumber::messages::step& FindStepBy(const cucumber::messages::pickle_step& pickleStep) const; + [[nodiscard]] const cucumber::messages::step& FindStepBy(const cucumber::messages::pickle_step& pickleStep) const; - const cucumber::messages::step_definition& FindStepDefinitionById(const std::string& id) const; - std::list FindStepDefinitionsById(const cucumber::messages::test_step& testStep) const; + [[nodiscard]] const cucumber::messages::step_definition& FindStepDefinitionById(const std::string& id) const; + [[nodiscard]] std::list FindStepDefinitionsById(const cucumber::messages::test_step& testStep) const; - const cucumber::messages::hook& FindHookById(const std::string& id) const; + [[nodiscard]] const cucumber::messages::hook& FindHookById(const std::string& id) const; - std::optional FindLocationOf(const cucumber::messages::pickle& pickle) const; + [[nodiscard]] std::optional FindLocationOf(const cucumber::messages::pickle& pickle) const; - const cucumber::messages::test_case_started& FindTestCaseStartedById(const std::string& id) const; + [[nodiscard]] const cucumber::messages::test_case_started& FindTestCaseStartedById(const std::string& id) const; - const std::map>& StepDefinitions() const; - const std::map>& TestCaseStarted() const; - const std::map>& TestCaseFinishedByTestCaseStartedId() const; + [[nodiscard]] const std::map>& StepDefinitions() const; + [[nodiscard]] const std::map>& TestCaseStarted() const; + [[nodiscard]] const std::map>& TestCaseFinishedByTestCaseStartedId() const; - std::size_t CountTestCasesStarted() const; + [[nodiscard]] std::size_t CountTestCasesStarted() const; - std::map> CountMostSevereTestStepResultStatus() const; - std::optional FindMostSevereTestStepResultBy(const cucumber::messages::test_case_started& testCaseStarted) const; - std::optional FindMostSevereTestStepResultBy(const cucumber::messages::test_case_finished& testCaseFinished) const; + [[nodiscard]] std::map> CountMostSevereTestStepResultStatus() const; + [[nodiscard]] std::optional FindMostSevereTestStepResultBy(const cucumber::messages::test_case_started& testCaseStarted) const; + [[nodiscard]] std::optional FindMostSevereTestStepResultBy(const cucumber::messages::test_case_finished& testCaseFinished) const; - std::list FindAllTestCaseStarted() const; - std::list> FindTestStepFinishedAndTestStepBy(const cucumber::messages::test_case_started& testCaseStarted) const; + [[nodiscard]] std::list FindAllTestCaseStarted() const; + [[nodiscard]] std::list> FindTestStepFinishedAndTestStepBy(const cucumber::messages::test_case_started& testCaseStarted) const; - const cucumber::messages::test_run_started& FindTestRunStarted() const; - cucumber::messages::duration FindTestRunDuration() const; + [[nodiscard]] const cucumber::messages::test_run_started& FindTestRunStarted() const; + [[nodiscard]] cucumber::messages::duration FindTestRunDuration() const; - cucumber::messages::duration FindTestCaseDurationBy(const cucumber::messages::test_case_started& testCaseStarted) const; - cucumber::messages::duration FindTestCaseDurationBy(const cucumber::messages::test_case_finished& testCaseFinished) const; - cucumber::messages::duration FindTestCaseDurationBy(const cucumber::messages::test_case_started& testCaseStarted, const cucumber::messages::test_case_finished& testCaseFinished) const; + [[nodiscard]] cucumber::messages::duration FindTestCaseDurationBy(const cucumber::messages::test_case_started& testCaseStarted) const; + [[nodiscard]] cucumber::messages::duration FindTestCaseDurationBy(const cucumber::messages::test_case_finished& testCaseFinished) const; + [[nodiscard]] cucumber::messages::duration FindTestCaseDurationBy(const cucumber::messages::test_case_started& testCaseStarted, const cucumber::messages::test_case_finished& testCaseFinished) const; - cucumber::messages::duration FindTestStepDurationByTestStepId(const std::string& testStepId) const; + [[nodiscard]] cucumber::messages::duration FindTestStepDurationByTestStepId(const std::string& testStepId) const; private: void operator+=(const cucumber::messages::envelope& envelope);