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()))) {
107 explicit CmpFrame(AstCmpFrame *rawptr) :
Frame(reinterpret_cast<AstFrame *>(rawptr)) {
110 os <<
"this is a " <<
getClassName() <<
", which is not a CmpFrame";
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(int naxes, std::string const &options="")
Construct a Frame.
std::shared_ptr< Class > decompose(int i, bool copy) const
Return a deep copy of one of the two component mappings.
std::shared_ptr< T > copyImpl() const
Implementation of deep copy.
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.
T static_pointer_cast(T... args)