-/*
- * File: math_atom.C
- * Purpose: Wrapper for MathInset *
- * Author: André Pönitz
- * Created: July 2001
+/**
+ * \file math_atom.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * Copyright: 2001 The LyX team
+ * \author André Pönitz
*
- * Version: 1.2.0
- *
- * You are free to use and modify this code under the terms of
- * the GNU General Public Licence version 2 or later.
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-
#include "math_atom.h"
#include "math_inset.h"
-#include <utility>
+using std::swap;
MathAtom::MathAtom()
{}
-MathAtom::MathAtom(MathInset * p)
- : nucleus_(p)
+MathAtom::MathAtom(InsetBase * p)
+ : nucleus_(static_cast<MathInset *>(p))
{}
MathAtom::MathAtom(MathAtom const & at)
- : nucleus_(at.nucleus_ ? at.nucleus_->clone() : 0)
-{}
+ : nucleus_(0)
+{
+ if (at.nucleus_)
+ nucleus_ = static_cast<MathInset*>(at.nucleus_->clone().release());
+}
-void MathAtom::operator=(MathAtom const & at)
+MathAtom & MathAtom::operator=(MathAtom const & at)
{
if (&at == this)
- return;
+ return *this;
MathAtom tmp(at);
- std::swap(tmp.nucleus_, nucleus_);
+ swap(tmp.nucleus_, nucleus_);
+ return *this;
}