16template<
typename Base,
typename ... Components>
80 template <
typename Severity>
110 template <
typename Severity>
121 template <typename Severity, typename T, if_not_t< is_enum<T>::value > = 0>
134 template <typename Severity, typename T, if_t< is_enum<T>::value > = 0 >
156 template <
typename T>
157 Base&
member(
const char *m,
const char *v =
nullptr) {
160 world_v(),
id, m,
"::",
"::",
false);
167 Base&
var(
const char *v) {
177 return *
static_cast<Base*
>(
this);
181 int32_t severity_filter_count = 0;
component< T > & constant(const char *name, T value)
Add a constant.
#define ECS_ALERT_MAX_SEVERITY_FILTERS
Maximum number of severity filters per alert.
#define ecs_assert(condition, error_code,...)
Assert.
#define ECS_INVALID_PARAMETER
Invalid parameter error code.
flecs::entity to_entity(E constant) const
Convert an enum constant to an entity.
ecs_entity_t entity_t
Entity type.
ecs_world_t world_t
World type.
#define ecs_ftime_t
Customizable precision for scalar time values.
ecs_entity_t ecs_lookup_path_w_sep(const ecs_world_t *world, ecs_entity_t parent, const char *path, const char *sep, const char *prefix, bool recursive)
Look up an entity from a path.
Alert descriptor, used with ecs_alert_init().
ecs_alert_severity_filter_t severity_filters[(4)]
Severity filters can be used to assign different severities to the same alert.
const char * brief
Description of alert.
ecs_ftime_t retain_period
The retain period specifies how long an alert must be inactive before it is cleared.
ecs_entity_t member
Alert when member value is out of range.
ecs_id_t id
(Component) ID of member to monitor.
ecs_entity_t severity
Alert severity.
const char * doc_name
User-friendly name.
const char * message
Template for alert message.
const char * var
Variable from which to fetch the member (optional).
ecs_entity_t severity
Severity kind.
Base & severity_filter(flecs::id_t with, const char *var=nullptr)
Add a severity filter.
Base & doc_name(const char *doc_name)
Set the doc name for an alert.
Base & retain_period(ecs_ftime_t period)
Set the retain period of an alert.
Base & message(const char *message)
Set the alert message.
Base & severity_filter(T with, const char *var=nullptr)
Add a severity filter.
Base & severity()
Set the severity of an alert (default is Error).
Base & var(const char *v)
Set the source variable for member (optional, defaults to $this).
Base & member(const char *m, const char *v=nullptr)
Set the member to create an alert for out-of-range values.
Base & severity(flecs::entity_t kind)
Set the severity of an alert (default is Error).
Base & severity_filter(flecs::entity_t kind, flecs::id_t with, const char *var=nullptr)
Add a severity filter.
Base & member(flecs::entity_t m)
Set the member to create an alert for out-of-range values.
Base & id(flecs::id_t id)
Set the (component) ID for the member (optional).
Base & brief(const char *brief)
Set the brief description for an alert.
Base & severity_filter(const char *var=nullptr)
Add a severity filter.
Base & with()
Add a term for the specified type.
Base & filter()
Mark the term as a filter.
Base & desc()
Use with cascade() to iterate results in descending (bottom-to-top) order.
flecs::id pair() const
Get pair ID from relationship and object.