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()),
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...
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
AstObject const * getRawPtr() const
Get the raw AST pointer.
AST wrapper classes and functions.
CmpFrame(Frame const &frame1, Frame const &frame2, std::string const &options="")
Construct a CmpFrame.
std::string getClassName() const
Get Class: the name of the class (e.g.
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.
Frame is used to represent a coordinate system.
CmpFrame(AstCmpFrame *rawptr)
Construct a CmpFrame from a raw AST pointer (protected instead of private so that SeriesMap and Paral...
std::shared_ptr< CmpFrame > copy() const
Return a deep copy of this object.
T static_pointer_cast(T... args)
CmpFrame & operator=(CmpFrame const &)=delete
Abstract base class for all AST objects.
std::shared_ptr< Frame > operator[](int i) const
Return a shallow copy of one of the two component frames.