22 #ifndef ASTSHIM_TRANMAP_H 23 #define ASTSHIM_TRANMAP_H 61 :
Mapping(reinterpret_cast<AstMapping *>(astTranMap(const_cast<AstObject *>(map1.
getRawPtr()),
62 const_cast<AstObject *>(map2.
getRawPtr()),
88 return copyImpl<TranMap, AstTranMap>();
92 explicit TranMap(AstTranMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
95 os <<
"this is a " <<
getClassName() <<
", which is not a TranMap";
AstObject const * getRawPtr() const
Get the raw AST pointer.
AST wrapper classes and functions.
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.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
TranMap(Mapping const &map1, Mapping const &map2, std::string const &options="")
Construct a TranMap.
An abstract base class for objects which transform one set of coordinates to another.
std::shared_ptr< TranMap > copy() const
Return a deep copy of this object.
TranMap & operator=(TranMap const &)=delete
T static_pointer_cast(T... args)
std::shared_ptr< Mapping > operator[](int i) const
Return a shallow copy of one of the two component mappings.
TranMap(AstTranMap *rawptr)
Construct a TranMap from a raw AST pointer.
TranMap is a Mapping which combines the forward transformation of a supplied Mapping with the inverse...
Abstract base class for all AST objects.