MCPcopy Create free account
hub / github.com/KLayout/klayout / create_state_helper

Method create_state_helper

src/db/db/dbLayoutQuery.cc:3154–3176  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3152}
3153
3154FilterStateBase *
3155FilterBracket::create_state_helper (std::map<const FilterBase *, FilterStateBase *> &fmap, const FilterBase *child, FilterStateBase *closure_state, db::Layout *layout, tl::Eval &eval) const
3156{
3157 std::vector<FilterStateBase *> followers;
3158 followers.reserve (child->followers ().size ());
3159
3160 for (std::vector<FilterBase *>::const_iterator o = child->followers ().begin (); o != child->followers ().end (); ++o) {
3161 if (*o == &m_closure) {
3162 followers.push_back (closure_state);
3163 } else {
3164 std::map<const FilterBase *, FilterStateBase *>::const_iterator f = fmap.find (*o);
3165 if (f != fmap.end ()) {
3166 followers.push_back (f->second);
3167 } else {
3168 FilterStateBase *fs = create_state_helper (fmap, *o, closure_state, layout, eval);
3169 fmap.insert (std::make_pair (*o, fs));
3170 followers.push_back (fs);
3171 }
3172 }
3173 }
3174
3175 return child->create_state (followers, layout, eval, false);
3176}
3177
3178void
3179FilterBracket::dump (unsigned int l) const

Callers

nothing calls this directly

Calls 8

create_stateMethod · 0.80
reserveMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
push_backMethod · 0.45
findMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected