*/
virtual void operator() (NamedData<VECTOR *> &out, const NamedData<VECTOR *> &in);
+ /**
+ * Set this true to avoid compatibility warnings.
+ */
+ bool silent_compatibility;
+
private:
/**
* While we are providing compatibility functions to the old
{
template <class VECTOR>
Operator<VECTOR>::Operator()
- : compatibility_flag(false)
+ : silent_compatibility(false), compatibility_flag(false)
{}
if (out.is_type<VECTOR*>(i))
new_out.add(out.entry<VECTOR*>(i), out.name(i));
else
- deallog << "Cannot convert AnyData argument " << out.name(i) << " to NamedData"
- << std::endl;
+ if (!silent_compatibility)
+ deallog << "Cannot convert AnyData argument " << out.name(i) << " to NamedData"
+ << std::endl;
}
NamedData<VECTOR*> new_in;
new_in.add(p, in.name(i));
}
else
- deallog << "Cannot convert AnyData argument " << in.name(i)
- << " to NamedData" << std::endl;
+ if (!silent_compatibility)
+ deallog << "Cannot convert AnyData argument " << in.name(i)
+ << " to NamedData" << std::endl;
}
this->operator() (new_out, new_in);
compatibility_flag = false;
if (output != 0)
(*output) << 0U << out;
+ // Avoid warnings because time and timestep cannot be converted to VECTOR*
+ const bool explicit_silent = op_explicit->silent_compatibility;
+ const bool implicit_silent = op_implicit->silent_compatibility;
+ op_explicit->silent_compatibility = true;
+ op_implicit->silent_compatibility = true;
+
for (unsigned int count = 1; d_explicit.time < control.final(); ++count)
{
const bool step_change = control.advance();
d_explicit.time = control.now();
}
+ op_explicit->silent_compatibility = explicit_silent;
+ op_implicit->silent_compatibility = implicit_silent;
deallog.pop();
}
}