]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathAtom.cpp
Provide proper fallback if a bibliography processor is not found
[lyx.git] / src / mathed / MathAtom.cpp
index 87a569d821d50231de08c3faf685f265f2152ba0..10f52174b6f44a73f0d90fa5c9af9b561cf0c233 100644 (file)
@@ -3,7 +3,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
 #include "MathAtom.h"
 #include "InsetMath.h"
 
+using namespace std;
 
 namespace lyx {
 
-using std::swap;
 
-
-MathAtom::MathAtom()
-       : nucleus_(0)
-{}
-
-
-MathAtom::MathAtom(InsetBase * p)
-       : nucleus_(static_cast<InsetMath *>(p))
+MathAtom::MathAtom(InsetMath * p)
+       : nucleus_(p)
 {}
 
 
 MathAtom::MathAtom(MathAtom const & at)
-       : nucleus_(0)
-{
-       if (at.nucleus_)
-               nucleus_ = static_cast<InsetMath*>(at.nucleus_->clone().release());
-}
+       : nucleus_(at.nucleus_ ? static_cast<InsetMath*>(at->clone()) : nullptr)
+{}
 
 
 MathAtom & MathAtom::operator=(MathAtom const & at)
 {
-       if (&at == this)
-               return *this;
-       MathAtom tmp(at);
-       swap(tmp.nucleus_, nucleus_);
-       return *this;
-}
-
-
-MathAtom::~MathAtom()
-{
-       delete nucleus_;
+       // copy then move-assign
+       return operator=(MathAtom(at));
 }