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()))) {
102 return copyImpl<CmpFrame, AstCmpFrame>();
107 explicit CmpFrame(AstCmpFrame *rawptr) :
Frame(reinterpret_cast<AstFrame *>(rawptr)) {
110 os <<
"this is a " <<
getClassName() <<
", which is not a CmpFrame";
A CmpFrame is a compound Frame which allows two component Frames (of any class) to be merged together...
CmpFrame(CmpFrame const &)=default
Copy constructor: make a deep copy.
CmpFrame(Frame const &frame1, Frame const &frame2, std::string const &options="")
Construct a CmpFrame.
CmpFrame(AstCmpFrame *rawptr)
Construct a CmpFrame from a raw AST pointer (protected instead of private so that SeriesMap and Paral...
CmpFrame & operator=(CmpFrame const &)=delete
CmpFrame(CmpFrame &&)=default
std::shared_ptr< Frame > operator[](int i) const
Return a shallow copy of one of the two component frames.
CmpFrame & operator=(CmpFrame &&)=default
std::shared_ptr< CmpFrame > copy() const
Return a deep copy of this object.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
Frame is used to represent a coordinate system.
Abstract base class for all AST objects.
std::string getClassName() const
Get Class: the name of the class (e.g.
AstObject const * getRawPtr() const
Get the raw AST pointer.
AST wrapper classes and functions.
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.