22#ifndef ASTSHIM_NORMMAP_H
23#define ASTSHIM_NORMMAP_H
62 :
Mapping(reinterpret_cast<AstMapping *>(
63 astNormMap(const_cast<AstObject *>(frame.
getRawPtr()),
"%s", options.c_str()))) {
84 explicit NormMap(AstNormMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
87 os <<
"this is a " <<
getClassName() <<
", which is not a NormMap";
Frame is used to represent a coordinate system.
Mapping(Mapping const &)=default
Copy constructor: make a deep copy.
NormMap(AstNormMap *rawptr)
Construct a NormMap from a raw AST pointer.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
NormMap(Frame const &frame, std::string const &options="")
Construct a NormMap.
NormMap(NormMap const &)=default
Copy constructor: make a deep copy.
NormMap & operator=(NormMap const &)=delete
std::shared_ptr< NormMap > copy() const
Return a deep copy of this object.
NormMap(NormMap &&)=default
NormMap & operator=(NormMap &&)=default
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)