22 #ifndef ASTSHIM_SHIFTMAP_H 23 #define ASTSHIM_SHIFTMAP_H 50 :
Mapping(reinterpret_cast<AstMapping *>(
51 astShiftMap(shift.size(), shift.
data(),
"%s",
options.c_str()))) {
68 return copyImpl<ShiftMap, AstShiftMap>();
72 explicit ShiftMap(AstShiftMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
75 os <<
"this is a " <<
getClassName() <<
", which is not a ShiftMap";
AstObject const * getRawPtr() const
Get the raw AST pointer.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
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.
An abstract base class for objects which transform one set of coordinates to another.
T static_pointer_cast(T... args)
ShiftMap is a linear Mapping which shifts each axis by a specified constant value.
ShiftMap(std::vector< double > const &shift, std::string const &options="")
Construct a ShiftMap.
ShiftMap(AstShiftMap *rawptr)
Construct a ShiftMap from a raw AST pointer.
Abstract base class for all AST objects.
ShiftMap & operator=(ShiftMap const &)=delete
std::shared_ptr< ShiftMap > copy() const
Return a deep copy of this object.