Struct astrea::astro::detail::EventInner¶
template <typename T>
ClassList > astrea > astro > detail > EventInner
A template class for Event inner implementations.More...
#include <Event.hpp>
Inherits the following classes: astrea::astro::detail::EventInnerBase
Public Attributes¶
| Type | Name |
|---|---|
| const Time State Vehicle &vehicle | const = /* multi line expression */The value of the Event inner implementation, which is the user-definedEvent type. |
| const Time State & | state |
| const Time & | time |
Public Functions¶
| Type | Name |
|---|---|
| EventInner () = default Default constructor for EventInner . |
|
| EventInner (const EventInner &) = delete Deleted copy assignment operator. |
|
| EventInner (EventInner &&) = delete Deleted move assignment operator. |
|
| EventInner (const T & x) Constructs a EventInner with a given value. |
|
| EventInner (T && x) Constructs a EventInner with a given value. |
|
| virtual std::string | get_name () override const Gets the name of the Event . |
| virtual bool | is_terminal () override const Checks if the Event is a terminalEvent . |
| virtual Unitless | measure_event (const Time & time, const State & state, const Vehicle & vehicle) override const Detects if the Event is triggered by aVehicle . |
| EventInner & | operator= (const EventInner &) = delete Deleted copy assignment operator. |
| EventInner & | operator= (EventInner &&) = delete Deleted move assignment operator. |
| requires (HasTriggerEvent< U >) const Implementation of the trigger_action function for an Event with a trigger. |
|
| requires (!HasTriggerEvent< U >) const Implementation of the trigger_action function for an Event without a trigger. Does nothing. |
|
| virtual void | trigger_action (const Time & time, State & state, Vehicle & vehicle) override const Triggers the Event for aVehicle . |
Public Functions inherited from astrea::astro::detail::EventInnerBase¶
See astrea::astro::detail::EventInnerBase
| Type | Name |
|---|---|
| virtual std::unique_ptr< EventInnerBase > | clone () const = 0 Clones the Event inner implementation. |
| virtual std::string | get_name () const = 0 Gets the name of the Event . |
| virtual const void * | get_ptr () const = 0 Gets a pointer to the internal Event instance. |
| virtual void * | get_ptr () = 0 Gets a pointer to the internal Event instance. |
| virtual bool | is_terminal () const = 0 Checks if the Event is a terminalEvent . |
| virtual Unitless | measure_event (const Time & time, const State & state, const Vehicle & vehicle) const = 0 Detects if the Event is triggered by aVehicle . |
| virtual void | trigger_action (const Time & time, State & state, Vehicle & vehicle) const = 0 Triggers the Event for aVehicle . |
| virtual | ~EventInnerBase () Destructor for EventInnerBase . |
Detailed Description¶
Template parameters:
TThe type of the Event implementation.
Public Attributes Documentation¶
variable const¶
The value of the Event inner implementation, which is the user-definedEvent type.
variable state¶
variable time¶
Public Functions Documentation¶
function EventInner [1/5]¶
Default constructor for EventInner .
function EventInner [2/5]¶
Deleted copy assignment operator.
function EventInner [3/5]¶
Deleted move assignment operator.
function EventInner [4/5]¶
Constructs a EventInner with a given value.
Parameters:
xThe value to initialize the Event inner implementation.
function EventInner [5/5]¶
Constructs a EventInner with a given value.
Parameters:
xThe value to initialize the Event inner implementation.
function get_name¶
Gets the name of the Event .
Returns:
std::string The name of the Event.
Implements astrea::astro::detail::EventInnerBase::get_name
function is_terminal¶
Checks if the Event is a terminalEvent .
Returns:
true If the Event is a terminal Event.
Returns:
false If the Event is not a terminal Event.
Implements astrea::astro::detail::EventInnerBase::is_terminal
function measure_event¶
Detects if the Event is triggered by aVehicle .
inline virtual Unitless astrea::astro::detail::EventInner::measure_event (
const Time & time,
const State & state,
const Vehicle & vehicle
) override const
Parameters:
timeThe current time in the integration.stateThe current state of the vehicle.vehicleThe Vehicle to check.
Returns:
true If the Event is triggered by the Vehicle.
Returns:
false If the Event is not triggered by the Vehicle.
Implements astrea::astro::detail::EventInnerBase::measure_event
function operator=¶
Deleted copy assignment operator.
function operator=¶
Deleted move assignment operator.
function requires [1/2]¶
Implementation of the trigger_action function for an Event with a trigger.
Template parameters:
UThe type of the Event implementation.
Parameters:
valueThe Event implementation instance.timeThe current time in the integration.stateThe current state of the vehicle.vehicleThe Vehicle to trigger the Event for.
Returns:
Vehicle The Vehicle after the Event has been triggered.
function requires [2/2]¶
Implementation of the trigger_action function for an Event without a trigger. Does nothing.
Template parameters:
UThe type of the Event implementation.
Parameters:
valueThe Event implementation instance.timeThe current time in the integration.stateThe current state of the vehicle.vehicleThe Vehicle to trigger the Event for.
Returns:
Vehicle The Vehicle after the Event has been triggered.
function trigger_action¶
Triggers the Event for aVehicle .
inline virtual void astrea::astro::detail::EventInner::trigger_action (
const Time & time,
State & state,
Vehicle & vehicle
) override const
Parameters:
timeThe current time in the integration.stateThe current state of the vehicle.vehicleThe Vehicle to trigger the Event for.
Returns:
Vehicle The Vehicle after the Event has been triggered.
Implements astrea::astro::detail::EventInnerBase::trigger_action
The documentation for this class was generated from the following file astrea/astro/astro/propagation/event_detection/Event.hpp