From 2b7cefa9593cc25afc59b664d2c42b76c49edb32 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de> Date: Thu, 24 Nov 2016 19:11:18 +0100 Subject: [PATCH] Corrected virtual / final, thanks to Travis warnings. # Conflicts: # Core/Binning/ConstKBinAxis.h --- Core/Binning/ConstKBinAxis.h | 11 ++++++----- Core/Binning/VariableBinAxis.h | 4 ++-- Core/Material/HomogeneousMagneticMaterial.h | 19 ++++++++----------- Core/Particle/ParticleDistribution.h | 12 ++++++------ 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/Core/Binning/ConstKBinAxis.h b/Core/Binning/ConstKBinAxis.h index 33be5942421..d10c7c96b43 100644 --- a/Core/Binning/ConstKBinAxis.h +++ b/Core/Binning/ConstKBinAxis.h @@ -30,17 +30,18 @@ public: //! @param start low edge of first bin //! @param end upper edge of last bin ConstKBinAxis(const std::string& name, size_t nbins, double start, double end); - virtual ~ConstKBinAxis() {} + ~ConstKBinAxis() final {} - ConstKBinAxis* clone() const; + ConstKBinAxis* clone() const final { + return new ConstKBinAxis(getName(), m_nbins, m_start, m_end); } - ConstKBinAxis* createClippedAxis(double left, double right) const; + ConstKBinAxis* createClippedAxis(double left, double right) const final; protected: ConstKBinAxis(const std::string& name, size_t nbins); - void print(std::ostream& ostr) const; - bool equals(const IAxis& other) const; + void print(std::ostream& ostr) const final; + bool equals(const IAxis& other) const final; double m_start; double m_end; diff --git a/Core/Binning/VariableBinAxis.h b/Core/Binning/VariableBinAxis.h index 18d1d02dda2..61b5ef86676 100644 --- a/Core/Binning/VariableBinAxis.h +++ b/Core/Binning/VariableBinAxis.h @@ -51,13 +51,13 @@ public: std::vector<double> getBinCenters() const; std::vector<double> getBinBoundaries() const { return m_bin_boundaries; } - VariableBinAxis* createClippedAxis(double left, double right) const; + virtual VariableBinAxis* createClippedAxis(double left, double right) const; protected: VariableBinAxis(const std::string& name, int nbins = 0); void setBinBoundaries(const std::vector<double> &bin_boundaries); - void print(std::ostream& ostr) const; + virtual void print(std::ostream& ostr) const; virtual bool equals(const IAxis& other) const; size_t m_nbins; diff --git a/Core/Material/HomogeneousMagneticMaterial.h b/Core/Material/HomogeneousMagneticMaterial.h index 9d69917b487..985781db3d8 100644 --- a/Core/Material/HomogeneousMagneticMaterial.h +++ b/Core/Material/HomogeneousMagneticMaterial.h @@ -27,18 +27,16 @@ public: #ifndef SWIG EIGEN_MAKE_ALIGNED_OPERATOR_NEW #endif - //! Constructs a material with _name_, _refractive_index_ and - //! _magnetic_field_ - HomogeneousMagneticMaterial(const std::string &name, const complex_t refractive_index, + //! Constructs a material with _name_, _refractive_index_ and _magnetic_field_ + HomogeneousMagneticMaterial(const std::string& name, const complex_t refractive_index, const kvector_t magnetic_field); - //! Constructs a material with _name_, refractive_index parameters and - //! _magnetic_field_ + //! Constructs a material with _name_, refractive_index parameters and _magnetic_field_ HomogeneousMagneticMaterial(const std::string &name, double refractive_index_delta, double refractive_index_beta, const kvector_t magnetic_field); - HomogeneousMagneticMaterial* clone() const final override; - HomogeneousMagneticMaterial* cloneInverted() const final override; + HomogeneousMagneticMaterial* clone() const final; + HomogeneousMagneticMaterial* cloneInverted() const final; //! Get the magnetic field (in Tesla) kvector_t getMagneticField() const { return m_magnetic_field; } @@ -48,7 +46,7 @@ public: //! Indicates that the material is not scalar. This means that different //! polarization states will be diffracted differently - virtual bool isScalarMaterial() const { return false; } + bool isScalarMaterial() const final { return false; } #ifndef SWIG //! Get the scattering matrix (~potential V) from the material. @@ -57,11 +55,10 @@ public: #endif //! Create a new material that is transformed with respect to this one - virtual const IMaterial* createTransformedMaterial( - const Transform3D& transform) const; + const IMaterial* createTransformedMaterial(const Transform3D& transform) const final; protected: - virtual void print(std::ostream &ostr) const { + void print(std::ostream &ostr) const final { ostr << "HomMagMat:" << getName() << "<" << this << ">{ " << "R=" << m_refractive_index << ", B=" << m_magnetic_field << "}"; } diff --git a/Core/Particle/ParticleDistribution.h b/Core/Particle/ParticleDistribution.h index 3316bd5e434..1ab8e0c662b 100644 --- a/Core/Particle/ParticleDistribution.h +++ b/Core/Particle/ParticleDistribution.h @@ -29,19 +29,19 @@ class BA_CORE_API_ ParticleDistribution : public IAbstractParticle public: ParticleDistribution(const IParticle& prototype, const ParameterDistribution& par_distr); - virtual ParticleDistribution* clone() const; - virtual ParticleDistribution* cloneInvertB() const; + ParticleDistribution* clone() const final; + ParticleDistribution* cloneInvertB() const final; - void accept(ISampleVisitor* visitor) const override final { visitor->visit(this); } + void accept(ISampleVisitor* visitor) const final { visitor->visit(this); } //! Returns textual representation of *this and its descendants. - virtual std::string to_str(int indent=0) const; + std::string to_str(int indent=0) const final; //! Sets the refractive index of the ambient material. - virtual void setAmbientMaterial(const IMaterial& material); + void setAmbientMaterial(const IMaterial& material) final; //! Returns particle's material. - virtual const IMaterial* getAmbientMaterial() const; + const IMaterial* getAmbientMaterial() const final; //! Returns list of new particles generated according to a distribution. std::vector<const IParticle*> generateParticles() const; -- GitLab