22#ifndef ASTSHIM_RATEMAP_H
23#define ASTSHIM_RATEMAP_H
71 explicit RateMap(
Mapping const &map,
int ax1,
int ax2, std::string
const &options =
"")
72 :
Mapping(reinterpret_cast<AstMapping *>(astRateMap(const_cast<AstObject *>(map.
getRawPtr()), ax1,
73 ax2,
"%s", options.c_str()))) {
86 std::shared_ptr<RateMap>
copy()
const {
return std::static_pointer_cast<RateMap>(
copyPolymorphic()); }
90 return copyImpl<RateMap, AstRateMap>();
94 explicit RateMap(AstRateMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
96 std::ostringstream os;
97 os <<
"this is a " <<
getClassName() <<
", which is not a RateMap";
98 throw std::invalid_argument(os.str());
std::string getClassName() const
Definition: Object.h:139
AstObject const * getRawPtr() const
Definition: Object.h:292
RateMap(Mapping const &map, int ax1, int ax2, std::string const &options="")
Definition: RateMap.h:71
RateMap(AstRateMap *rawptr)
Construct a RateMap from a raw AST pointer.
Definition: RateMap.h:94
RateMap(RateMap &&)=default
virtual ~RateMap()
Definition: RateMap.h:77
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: RateMap.h:89
RateMap(RateMap const &)=default
Copy constructor: make a deep copy.
std::shared_ptr< RateMap > copy() const
Return a deep copy of this object.
Definition: RateMap.h:86
RateMap & operator=(RateMap const &)=delete
RateMap & operator=(RateMap &&)=default
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49