X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_atom.C;h=bd5cda75be3aec9bbe5a9d2be7819ba77e7e862a;hb=07cc9f67534474b167ca1ea727bda643fdd8d197;hp=8e423064bac79325f49e4ae6008fee08cd7db078;hpb=d15da27db8264a33c14d1abca4dc7c8413f16126;p=lyx.git diff --git a/src/mathed/math_atom.C b/src/mathed/math_atom.C index 8e423064ba..bd5cda75be 100644 --- a/src/mathed/math_atom.C +++ b/src/mathed/math_atom.C @@ -1,27 +1,19 @@ -/* - * 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 -#ifdef __GNUG__ -#pragma implementation -#endif - #include "math_atom.h" #include "math_inset.h" -#include +using std::swap; MathAtom::MathAtom() @@ -29,35 +21,29 @@ MathAtom::MathAtom() {} -MathAtom::MathAtom(MathInset * p) - : nucleus_(p) -{} - - -MathAtom::MathAtom(MathAtom const & p) - : nucleus_(p.nucleus_ ? p.nucleus_->clone() : 0) +MathAtom::MathAtom(InsetBase * p) + : nucleus_(static_cast(p)) {} -void MathAtom::operator=(MathAtom const & p) +MathAtom::MathAtom(MathAtom const & at) + : nucleus_(0) { - if (&p == this) - return; - MathAtom tmp(p); - std::swap(tmp.nucleus_, nucleus_); + if (at.nucleus_) + nucleus_ = static_cast(at.nucleus_->clone().release()); } -MathAtom::~MathAtom() +void MathAtom::operator=(MathAtom const & at) { - delete nucleus_; + if (&at == this) + return; + MathAtom tmp(at); + swap(tmp.nucleus_, nucleus_); } -void MathAtom::reset(MathInset * p) +MathAtom::~MathAtom() { - if (p == nucleus_) - return; delete nucleus_; - nucleus_ = p; }