Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
events.hpp File Reference

Contains the detail/events base types. More...

#include <boost/type_index.hpp>
Include dependency graph for events.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bertini::AnyEvent
 Strawman Event type, enabling polymorphism. More...
class  bertini::Event< ObsT, true >
 For emission of events from observables. More...
class  bertini::Event< ObsT, false >
 For emission of events from observables. More...

Namespaces

namespace  bertini

Macros

#define ADD_BERTINI_EVENT_TYPE(event_name, event_parenttype)
 Defines a new event type in a hierarchy.

Typedefs

template<typename ObsT>
using bertini::ConstEvent = Event<ObsT,true>
 An event holding a const reference to its observable.
template<typename ObsT>
using bertini::MutableEvent = Event<ObsT,false>
 An event holding a mutable reference to its observable.

Detailed Description

Contains the detail/events base types.

Macro Definition Documentation

◆ ADD_BERTINI_EVENT_TYPE

#define ADD_BERTINI_EVENT_TYPE ( event_name,
event_parenttype )
Value:
template<class ObservedT> \
class event_name : public event_parenttype<ObservedT> \
{ BOOST_TYPE_INDEX_REGISTER_CLASS \
public: \
using HeldT = typename event_parenttype<ObservedT>::HeldT; \
event_name(HeldT obs) : event_parenttype<ObservedT>(obs){} \
virtual ~event_name() = default; \
event_name() = delete; }

Defines a new event type in a hierarchy.

Parameters
event_nameThe name of the new Event type you are making.
event_parenttypeThe name of the parent Event type in the heirarchy.