From b5e3469c0bd33770d752a53d2c67921cac39363c Mon Sep 17 00:00:00 2001
From: Thomas <purcell@fhi-berlin.mpg.de>
Date: Fri, 6 May 2022 13:34:11 +0200
Subject: [PATCH] Fix similar virtual function overload issues

-Woverloaded-virtual no loner gives any warnings
---
 src/descriptor_identifier/model/Model.hpp          |  3 ++-
 .../model/ModelClassifier.hpp                      |  2 +-
 .../model/ModelLogRegressor.hpp                    |  1 +
 src/descriptor_identifier/model/ModelRegressor.hpp |  3 ++-
 src/feature_creation/node/FeatureNode.hpp          | 14 ++++++++++++++
 src/feature_creation/node/ModelNode.hpp            |  5 +++++
 .../node/operator_nodes/OperatorNode.hpp           |  2 ++
 7 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/descriptor_identifier/model/Model.hpp b/src/descriptor_identifier/model/Model.hpp
index 45805f3d..5a26eddb 100644
--- a/src/descriptor_identifier/model/Model.hpp
+++ b/src/descriptor_identifier/model/Model.hpp
@@ -845,8 +845,9 @@ template <class ModelBase = Model>
 class PyModel : public ModelBase
 {
     using ModelBase::ModelBase;
+    using Model::error_summary_string;
 
-    std::string error_summary_string(std::vector<double> prop, std::vector<double> prop_est)
+    std::string error_summary_string(std::vector<double> prop, std::vector<double> prop_est) const override
     {
         PYBIND11_OVERRIDE_PURE(std::string, ModelBase, error_summary_string, prop, prop_est);
     }
diff --git a/src/descriptor_identifier/model/ModelClassifier.hpp b/src/descriptor_identifier/model/ModelClassifier.hpp
index d4c1e572..d2420e12 100644
--- a/src/descriptor_identifier/model/ModelClassifier.hpp
+++ b/src/descriptor_identifier/model/ModelClassifier.hpp
@@ -339,7 +339,7 @@ class PyModelClassifier : public PyModel<ModelClassifierBase>
 {
     using PyModel<ModelClassifierBase>::PyModel;  // Inherit constructors
 
-    std::string error_summary_string(std::vector<double> prop, std::vector<double> prop_est)
+    std::string error_summary_string(std::vector<double> prop, std::vector<double> prop_est) const override
     {
         PYBIND11_OVERRIDE(std::string, ModelClassifierBase, error_summary_string, prop, prop_est);
     }
diff --git a/src/descriptor_identifier/model/ModelLogRegressor.hpp b/src/descriptor_identifier/model/ModelLogRegressor.hpp
index ed6cb2d4..348881ae 100644
--- a/src/descriptor_identifier/model/ModelLogRegressor.hpp
+++ b/src/descriptor_identifier/model/ModelLogRegressor.hpp
@@ -32,6 +32,7 @@ class ModelLogRegressor : public ModelRegressor
 {
 public:
     using Model::eval;
+    using ModelRegressor::error_summary_string;
 
     /**
      * @brief Default constructor
diff --git a/src/descriptor_identifier/model/ModelRegressor.hpp b/src/descriptor_identifier/model/ModelRegressor.hpp
index e576ef96..9c96223d 100644
--- a/src/descriptor_identifier/model/ModelRegressor.hpp
+++ b/src/descriptor_identifier/model/ModelRegressor.hpp
@@ -461,8 +461,9 @@ template <class ModelRegressorBase = ModelRegressor>
 class PyModelRegressor : public PyModel<ModelRegressorBase>
 {
     using PyModel<ModelRegressorBase>::PyModel;  // Inherit constructors
+    using ModelRegressor::error_summary_string;
 
-    std::string error_summary_string(std::vector<double> prop, std::vector<double> prop_est)
+    std::string error_summary_string(std::vector<double> prop, std::vector<double> prop_est) const override
     {
         PYBIND11_OVERRIDE(std::string, ModelRegressorBase, error_summary_string, prop, prop_est);
     }
diff --git a/src/feature_creation/node/FeatureNode.hpp b/src/feature_creation/node/FeatureNode.hpp
index 8e09903f..a0845f4d 100644
--- a/src/feature_creation/node/FeatureNode.hpp
+++ b/src/feature_creation/node/FeatureNode.hpp
@@ -57,6 +57,12 @@ class FeatureNode : public Node
         ar& _test_value;
     }
 
+    using Node::get_latex_expr;
+    using Node::set_value;
+    using Node::set_test_value;
+    using Node::value_ptr;
+    using Node::test_value_ptr;
+
 protected:
     // clang-format off
     std::vector<double> _value; //!< The value for this feature's training data
@@ -576,6 +582,14 @@ template <class FeatureNodeBase = FeatureNode>
 class PyFeatureNode : public PyNode<FeatureNodeBase>
 {
     using PyNode<FeatureNodeBase>::PyNode;  // Inherit constructors
+    using FeatureNode::value_ptr;
+    using FeatureNode::test_value_ptr;
+    using FeatureNode::get_latex_expr;
+    using FeatureNode::set_value;
+    using FeatureNode::set_test_value;
+    using FeatureNode::expr;
+    using FeatureNode::matlab_fxn_expr;
+    using FeatureNode::domain;
 
     std::shared_ptr<Node> hard_copy() const override
     {
diff --git a/src/feature_creation/node/ModelNode.hpp b/src/feature_creation/node/ModelNode.hpp
index 306875fd..0e2b8ff0 100644
--- a/src/feature_creation/node/ModelNode.hpp
+++ b/src/feature_creation/node/ModelNode.hpp
@@ -62,6 +62,11 @@ class ModelNode : public FeatureNode
         ar& _n_leaves;
     }
 
+    using FeatureNode::get_latex_expr;
+    using FeatureNode::set_value;
+    using FeatureNode::set_test_value;
+    using FeatureNode::value_ptr;
+    using FeatureNode::test_value_ptr;
 protected:
     // clang-format off
     std::vector<double> _value_svm; //!< Value of the feature converted to a range of -1.0 to 1.0
diff --git a/src/feature_creation/node/operator_nodes/OperatorNode.hpp b/src/feature_creation/node/operator_nodes/OperatorNode.hpp
index 43c39275..edaa21e7 100644
--- a/src/feature_creation/node/operator_nodes/OperatorNode.hpp
+++ b/src/feature_creation/node/operator_nodes/OperatorNode.hpp
@@ -66,6 +66,8 @@ class OperatorNode : public Node
         ar& _feats;
     }
 
+    using Node::expr;
+
 protected:
     // clang-format off
     std::array<node_ptr, N> _feats; //!< The features for the operator nodes to act on (This Node's children)
-- 
GitLab