158 virtual void set_model(
Model& model) = 0;
160 virtual size_t get_number_of_case()
const = 0;
164 virtual ~CaseIterator() {}
165 virtual Case* next() = 0;
166 virtual size_t get_number_of_case()
const = 0;
169 using case_iterator = std::unique_ptr<CaseIterator>;
171 virtual case_iterator get_case_iterator() = 0;
173 class CaseListIterator {
175 virtual ~CaseListIterator() {}
177 virtual size_t get_number_of_case_list()
const = 0;
180 using case_list_iterator = std::unique_ptr<CaseListIterator>;
190 case_iterator i = get_case_iterator();
192 while ((c = i->next()) !=
nullptr) {
193 if (c->
get_id() == case_id) {
return c; }
199 value_constant_at_null_dof,
200 d_value_d_dof_constant_at_null_dof,
201 value_and_d_value_d_dof_constant_at_null_dof
204 virtual case_list_iterator get_case_sublist_iterator(
const Domain* domain, SortType st) = 0;
206 virtual case_list_iterator get_case_sublist_iterator(
207 const NaturalBoundaryCondition* nbc, SortType st) = 0;
209 virtual case_list_iterator get_case_sublist_iterator(
210 const EssentialBoundaryCondition* ebc, SortType st) = 0;
212 virtual case_list_iterator get_case_sublist_iterator(
213 const ModelReductionBoundaryCondition* mrbc, SortType st) = 0;
215 virtual case_list_iterator get_case_sublist_iterator(
216 const InitialCondition* ic, SortType st) = 0;
218 using type_t = ObjectTypeIncomplete<CaseList>;