lsst.astshim
20.0.0-4-g45278ab+d529cf1a41
|
Go to the documentation of this file.
22 #ifndef ASTSHIM_CMPFRAME_H
23 #define ASTSHIM_CMPFRAME_H
75 :
Frame(reinterpret_cast<AstFrame *>(astCmpFrame(const_cast<AstObject *>(frame1.
getRawPtr()),
76 const_cast<AstObject *>(frame2.
getRawPtr()),
77 "%s", options.c_str()))) {
90 std::shared_ptr<CmpFrame>
copy()
const {
return std::static_pointer_cast<CmpFrame>(
copyPolymorphic()); }
98 std::shared_ptr<Frame>
operator[](
int i)
const {
return decompose<Frame>(i,
false); }
102 return copyImpl<CmpFrame, AstCmpFrame>();
107 explicit CmpFrame(AstCmpFrame *rawptr) :
Frame(reinterpret_cast<AstFrame *>(rawptr)) {
109 std::ostringstream os;
110 os <<
"this is a " <<
getClassName() <<
", which is not a CmpFrame";
111 throw std::invalid_argument(os.str());
CmpFrame & operator=(CmpFrame &&)=default
std::shared_ptr< Frame > operator[](int i) const
Definition: CmpFrame.h:98
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: CmpFrame.h:101
CmpFrame(Frame const &frame1, Frame const &frame2, std::string const &options="")
Definition: CmpFrame.h:74
CmpFrame(CmpFrame const &)=default
Copy constructor: make a deep copy.
std::shared_ptr< CmpFrame > copy() const
Return a deep copy of this object.
Definition: CmpFrame.h:90
std::string getClassName() const
Definition: Object.h:139
CmpFrame(AstCmpFrame *rawptr)
Definition: CmpFrame.h:107
CmpFrame & operator=(CmpFrame const &)=delete
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
CmpFrame(CmpFrame &&)=default
AstObject const * getRawPtr() const
Definition: Object.h:292
Definition: CmpFrame.h:60
virtual ~CmpFrame()
Definition: CmpFrame.h:81