22 #ifndef ASTSHIM_TIMEMAP_H 23 #define ASTSHIM_TIMEMAP_H 30 #include "astshim/base.h" 31 #include "astshim/Mapping.h" 56 explicit TimeMap(std::string
const &options =
"")
57 :
Mapping(reinterpret_cast<AstMapping *>(astTimeMap(0,
"%s", options.c_str()))) {}
180 void add(std::string
const &cvt, std::vector<double>
const &args) {
181 astTimeAdd(
getRawPtr(), cvt.c_str(), args.size(), args.data());
187 return copyImpl<TimeMap, AstTimeMap>();
191 explicit TimeMap(AstTimeMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
193 std::ostringstream os;
194 os <<
"this is a " <<
getClassName() <<
", which is not a TimeMap";
195 throw std::invalid_argument(os.str());
AstObject const * getRawPtr() const
Definition: Object.h:289
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
std::string getClassName() const
Definition: Object.h:136
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: TimeMap.h:186
std::shared_ptr< TimeMap > copy() const
Return a deep copy of this object.
Definition: TimeMap.h:67
void add(std::string const &cvt, std::vector< double > const &args)
Definition: TimeMap.h:180
TimeMap(AstTimeMap *rawptr)
Construct a TimeMap from a raw AST pointer.
Definition: TimeMap.h:191
TimeMap(std::string const &options="")
Definition: TimeMap.h:56