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