OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
ElmPtr.cpp
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// $RCSfile: ElmPtr.cpp,v $
3// ------------------------------------------------------------------------
4// $Revision: 1.1.1.1 $
5// ------------------------------------------------------------------------
6// Copyright: see Copyright.readme
7// ------------------------------------------------------------------------
8//
9// Class: ElmPtr
10//
11// ------------------------------------------------------------------------
12// Class category: Beamlines
13// ------------------------------------------------------------------------
14//
15// $Date: 2000/03/27 09:32:34 $
16// $Author: fci $
17//
18// ------------------------------------------------------------------------
19
20#include "Beamlines/ElmPtr.h"
21
22// Typedef ElmPtr
23// ------------------------------------------------------------------------
24
25ElmPtr::ElmPtr() : itsElement() {}
26
27ElmPtr::ElmPtr(const ElmPtr& rhs) : itsElement(rhs.itsElement) {}
28
29ElmPtr::ElmPtr(ElementBase* elem) : itsElement(elem) {}
30
31ElmPtr::ElmPtr(std::shared_ptr<ElementBase> elem) : itsElement(std::move(elem)) {}
32
34
35void ElmPtr::accept(BeamlineVisitor& visitor) const { itsElement->accept(visitor); }
A section of a beam line.
Definition ElmPtr.h:32
ElmPtr()
Definition ElmPtr.cpp:25
virtual void accept(BeamlineVisitor &) const
Apply visitor.
Definition ElmPtr.cpp:35
std::shared_ptr< ElementBase > itsElement
Definition ElmPtr.h:53
virtual ~ElmPtr()
Definition ElmPtr.cpp:33
STL namespace.