17 #ifndef dealii__event_h 18 #define dealii__event_h 20 #include <deal.II/base/config.h> 26 DEAL_II_NAMESPACE_OPEN
104 void print (OS &os)
const;
128 static std::vector<std::string>
names;
171 for (std::vector<bool>::const_iterator i=
flags.begin();
172 i !=
flags.end(); ++i)
186 const unsigned int n =
flags.size();
187 const unsigned int m =
event.flags.size();
188 const unsigned int n_min = (n<m)?n:m;
203 for (std::vector<bool>::const_iterator i=
flags.begin();
204 i !=
flags.end(); ++i)
205 if (!*i)
return false;
212 for (
unsigned int i=0; i<n_min; ++i)
215 for (
unsigned int i=n_min; i<m; ++i)
229 if (
flags.size() <
event.flags.size())
231 for (
unsigned int i=0; i<
event.flags.size(); ++i)
241 if (!event.
any())
return *
this;
246 for (std::vector<bool>::iterator i=
flags.begin();
247 i !=
flags.end(); ++i)
252 if (
flags.size() <
event.flags.size())
254 for (
unsigned int i=0; i<
event.flags.size(); ++i)
269 for (
unsigned int i=0; i<
flags.size(); ++i)
271 os <<
' ' <<
names[i];
280 for (
unsigned int i=0; i<
names.size(); ++i)
281 os << i <<
'\t' <<
names[i] << std::endl;
298 DEAL_II_NAMESPACE_CLOSE
static void print_assigned(OS &os)
Event & operator-=(const Event &event)
bool test(const Event &event) const
std::vector< bool > flags
const Event bad_derivative
Event & operator+=(const Event &event)
static Event assign(const char *name)
const Event new_timestep_size
static std::vector< std::string > names
StreamType & operator<<(StreamType &s, UpdateFlags u)