lsst.astshim
20.0.0-1-g660595b+f45b7d88f4
|
Go to the documentation of this file.
22 #ifndef ASTSHIM_FRAMEDICT_H
23 #define ASTSHIM_FRAMEDICT_H
30 #include <unordered_map>
82 _domainIndexDict = _makeNewDict(*
this);
98 std::string
const &options =
"")
99 :
FrameSet(baseFrame, mapping, currentFrame) {
100 _domainIndexDict = _makeNewDict(*
this);
111 _domainIndexDict = _makeNewDict(*
this);
123 std::shared_ptr<FrameDict>
copy()
const {
return std::static_pointer_cast<FrameDict>(
copyPolymorphic()); }
151 std::shared_ptr<Frame>
getFrame(std::string
const &domain,
bool copy =
true)
const {
162 std::shared_ptr<Mapping>
getMapping(
int from, std::string
const &to)
const {
171 std::shared_ptr<Mapping>
getMapping(std::string
const &from,
int to)
const {
180 std::shared_ptr<Mapping>
getMapping(std::string
const &from, std::string
const &to)
const {
191 auto it = _domainIndexDict.find(domainUpper);
192 if (it == _domainIndexDict.end()) {
193 throw std::out_of_range(
"No frame found with domain " + domain);
201 bool hasDomain(std::string
const &domain)
const {
return _domainIndexDict.count(domain) > 0; }
254 void setDomain(std::string
const &domain)
override;
258 return copyImpl<FrameDict, AstFrameSet>();
274 return std::static_pointer_cast<FrameSet>(copyImpl<FrameSet, AstFrameSet>());
284 static std::unordered_map<std::string, int> _makeNewDict(
FrameSet const &frameSet);
295 _domainIndexDict = _makeNewDict(frameSet);
296 this->swapRawPointers(frameSet);
299 std::unordered_map<std::string, int> _domainIndexDict;
FrameDict & operator=(FrameDict &&)=default
void removeFrame(int iframe) override
Definition: FrameDict.cc:53
std::shared_ptr< Frame > getFrame(std::string const &domain, bool copy=true) const
Definition: FrameDict.h:151
std::shared_ptr< Mapping > getMapping(std::string const &from, int to) const
Definition: FrameDict.h:171
FrameDict(FrameSet const &frameSet)
Definition: FrameDict.h:110
void remapFrame(std::string const &domain, Mapping &map)
Definition: FrameDict.h:219
void mirrorVariants(int iframe)
Definition: FrameSet.h:367
friend class FrameDict
Definition: Object.h:53
std::string stringToUpper(std::string const &str)
Definition: utils.h:108
FrameDict(FrameDict &&)=default
void mirrorVariants(std::string const &domain)
Definition: FrameDict.h:210
Definition: FrameSet.h:99
std::set< std::string > getAllDomains() const
Definition: FrameDict.cc:45
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: FrameDict.h:257
FrameDict(Frame const &frame, std::string const &options="")
Definition: FrameDict.h:81
std::shared_ptr< Mapping > getMapping(int from, std::string const &to) const
Definition: FrameDict.h:162
std::shared_ptr< FrameDict > copy() const
Return a deep copy of this object.
Definition: FrameDict.h:123
std::shared_ptr< Mapping > getMapping(std::string const &from, std::string const &to) const
Definition: FrameDict.h:180
int getIndex(std::string const &domain) const
Definition: FrameDict.h:189
FrameDict & operator=(FrameDict const &)=delete
FrameDict(FrameDict const &)=default
Copy constructor: make a deep copy.
std::shared_ptr< Frame > getFrame(int iframe, bool copy=true) const
Definition: FrameSet.h:270
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
bool hasDomain(std::string const &domain) const
Definition: FrameDict.h:201
void setBase(std::string const &domain)
Definition: FrameDict.h:238
Definition: FrameDict.h:67
void setCurrent(std::string const &domain)
Definition: FrameDict.h:247
std::shared_ptr< Mapping > getMapping(int from=BASE, int to=CURRENT) const
Definition: FrameSet.h:304
void setDomain(std::string const &domain) override
Definition: FrameDict.cc:61
FrameDict(Frame const &baseFrame, Mapping const &mapping, Frame const ¤tFrame, std::string const &options="")
Definition: FrameDict.h:97
void addFrame(int iframe, Mapping const &map, Frame const &frame) override
Definition: FrameDict.cc:32
virtual ~FrameDict()
Definition: FrameDict.h:114
void setCurrent(int ind)
Definition: FrameSet.h:476
std::shared_ptr< FrameSet > getFrameSet() const
Definition: FrameDict.h:273
void remapFrame(int iframe, Mapping &map)
Definition: FrameSet.h:410
void setBase(int ind)
Definition: FrameSet.h:471