128 std::map<T *, std::set<int>> pre_aux_dependencies;
129 std::map<T *, std::set<int>> post_aux_dependencies;
135 std::map<T *, bool> is_pre_ic;
137 for (
const auto obj : objs)
138 is_pre_ic[obj] =
false;
143 for (
const auto obj : objs)
145 if (depend_objects_aux.count(obj->name()) > 0)
147 pre_aux_dependencies[obj].insert(flag);
149 is_pre_ic.at(obj) =
true;
155 post_aux_dependencies[obj].insert(flag);
159 for (
const auto obj : objs)
161 if (ic_deps.count(obj->name()) > 0 ||
162 (obj->isParamValid(
"force_preic") && obj->template getParam<bool>(
"force_preic")))
165 is_pre_ic.at(obj) =
true;
168 if ((obj->isParamValid(
"force_preaux") && obj->template getParam<bool>(
"force_preaux")))
170 post_aux_dependencies[obj].clear();
172 pre_aux_dependencies[obj].insert(flag);
174 else if (obj->isParamValid(
"force_postaux") && obj->template getParam<bool>(
"force_postaux"))
176 pre_aux_dependencies[obj].clear();
178 post_aux_dependencies[obj].insert(flag);
187 if (!is_pre_ic.at(obj))
192 for (
auto & item : pre_aux_dependencies)
195 for (
auto & item : post_aux_dependencies)
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
const std::set< ExecFlagType > & items() const
Reference the all the available items.
std::set< std::string > getDependObjects(ExecFlagType type)
Get a list of dependent UserObjects for this exec type.
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
void update(MooseObject *obj)
update updates the metadata/attribute-info stored for the given object obj that must already exists i...
Class for containing MooseEnum item information.
ExecFlagEnum execute_flags
Storage for the registered execute flags.
const ExecFlagType EXEC_INITIAL