22 #ifndef ASTSHIM_NORMMAP_H
23 #define ASTSHIM_NORMMAP_H
27 #include "astshim/base.h"
28 #include "astshim/Mapping.h"
61 explicit NormMap(
Frame const &frame, std::string
const &options =
"")
62 :
Mapping(reinterpret_cast<AstMapping *>(
63 astNormMap(const_cast<AstObject *>(frame.
getRawPtr()),
"%s", options.c_str()))) {}
77 return copyImpl<NormMap, AstNormMap>();
81 explicit NormMap(AstNormMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
83 std::ostringstream os;
84 os <<
"this is a " <<
getClassName() <<
", which is not a NormMap";
85 throw std::invalid_argument(os.str());
AstObject const * getRawPtr() const
Definition: Object.h:286
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: NormMap.h:76
NormMap(Frame const &frame, std::string const &options="")
Definition: NormMap.h:61
std::shared_ptr< NormMap > copy() const
Return a deep copy of this object.
Definition: NormMap.h:73
std::string getClassName() const
Definition: Object.h:133
NormMap(AstNormMap *rawptr)
Construct a NormMap from a raw AST pointer.
Definition: NormMap.h:81