From c4c89dff4ec9512c977d46509916c09e645001e0 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Wed, 22 Nov 2017 13:40:49 -0800 Subject: [PATCH] [muparser] Clean up ParserCallback interface Remove Clone() method and mark some functions as defaulted. --- muparser-2.2.5/include/muParserCallback.h | 4 +--- muparser-2.2.5/include/muParserToken.h | 2 +- muparser-2.2.5/src/muParserCallback.cpp | 14 +------------- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/muparser-2.2.5/include/muParserCallback.h b/muparser-2.2.5/include/muParserCallback.h index e153165af..83417f27b 100644 --- a/muparser-2.2.5/include/muParserCallback.h +++ b/muparser-2.2.5/include/muParserCallback.h @@ -46,7 +46,7 @@ namespace mu { \author (C) 2004-2011 Ingo Berg */ -class ParserCallback { +class ParserCallback final { public: ParserCallback(fun_type0 a_pFun, bool a_bAllowOpti); ParserCallback(fun_type1 a_pFun, bool a_bAllowOpti, int a_iPrec = -1, @@ -70,8 +70,6 @@ class ParserCallback { ParserCallback(); ParserCallback(const ParserCallback& a_Fun); - ParserCallback* Clone() const; - bool IsOptimizable() const; void* GetAddr() const; ECmdCode GetCode() const; diff --git a/muparser-2.2.5/include/muParserToken.h b/muparser-2.2.5/include/muParserToken.h index 5f268c529..111e3e7fe 100644 --- a/muparser-2.2.5/include/muParserToken.h +++ b/muparser-2.2.5/include/muParserToken.h @@ -116,7 +116,7 @@ class ParserToken { m_iType = a_Tok.m_iType; m_fVal = a_Tok.m_fVal; // create new callback object if a_Tok has one - m_pCallback.reset(a_Tok.m_pCallback.get() ? a_Tok.m_pCallback->Clone() : 0); + m_pCallback.reset(a_Tok.m_pCallback ? new ParserCallback(*a_Tok.m_pCallback) : nullptr); } //------------------------------------------------------------------------------ diff --git a/muparser-2.2.5/src/muParserCallback.cpp b/muparser-2.2.5/src/muParserCallback.cpp index fb0d544b3..abb2c594f 100644 --- a/muparser-2.2.5/src/muParserCallback.cpp +++ b/muparser-2.2.5/src/muParserCallback.cpp @@ -214,19 +214,7 @@ ParserCallback::ParserCallback() //--------------------------------------------------------------------------- /** \brief Copy constructor. */ -ParserCallback::ParserCallback(const ParserCallback& ref) { - m_pFun = ref.m_pFun; - m_iArgc = ref.m_iArgc; - m_bAllowOpti = ref.m_bAllowOpti; - m_iCode = ref.m_iCode; - m_iType = ref.m_iType; - m_iPri = ref.m_iPri; - m_eOprtAsct = ref.m_eOprtAsct; -} - -//--------------------------------------------------------------------------- -/** \brief Clone this instance and return a pointer to the new instance. */ -ParserCallback* ParserCallback::Clone() const { return new ParserCallback(*this); } +ParserCallback::ParserCallback(const ParserCallback& ref) = default; //--------------------------------------------------------------------------- /** \brief Return tru if the function is conservative.