22 #ifndef ASTSHIM_UNITMAP_H
23 #define ASTSHIM_UNITMAP_H
27 #include "astshim/base.h"
28 #include "astshim/Mapping.h"
54 explicit UnitMap(
int ncoord, std::string
const &options =
"")
55 :
Mapping(reinterpret_cast<AstMapping *>(astUnitMap(ncoord,
"%s", options.c_str()))) {}
69 return copyImpl<UnitMap, AstUnitMap>();
73 explicit UnitMap(AstUnitMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
75 std::ostringstream os;
76 os <<
"this is a " <<
getClassName() <<
", which is not a UnitMap";
77 throw std::invalid_argument(os.str());
AstObject const * getRawPtr() const
Definition: Object.h:286
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: UnitMap.h:68
UnitMap(int ncoord, std::string const &options="")
Definition: UnitMap.h:54
std::shared_ptr< UnitMap > copy() const
Return a deep copy of this object.
Definition: UnitMap.h:65
std::string getClassName() const
Definition: Object.h:133
UnitMap(AstUnitMap *rawptr)
Construct a UnitMap from a raw AST pointer.
Definition: UnitMap.h:73