22 DECLARE_EXCEPTION(ExcUnknownField, <<
"Field set has no field with name: " << FieldCommonBase::EI_Field::qval);
42 ASSERT(&field==found_field,
"Another field of the same name exists when adding field: %s\n", field.
name().c_str());
56 for(
auto field_ptr : other.
field_list) this->operator +=(*field_ptr);
65 for(
auto name : names) set += this->
get_field( name);
69 unsigned int size()
const {
99 string units = field->
units();
100 string description = field->
desc();
119 namespace IT=Input::Type;
127 string desc =
"Output of field " + field->
name();
128 if (field->
desc().length() > 0)
129 desc +=
" (" + field->
desc() +
").";
148 auto &field =
get_field(dest_field_name);
159 if (found_field)
return *found_field;
161 THROW(ExcUnknownField() << FieldCommonBase::EI_Field(field_name));
199 bool changed_all=
false;
252 if (field->
name() ==field_name)
return field;
288 #define ADD_FIELD(name, ...) this->add_field(&name, string(#name), __VA_ARGS__)