ultramarine/actor_attributes.hpp
namespace ultramarine
{
template <typename Derived, std::size_t ConcurrencyLimit = std::numeric_limits<std::size_t>::max()>
struct local_actor;
template <typename Derived>
struct non_reentrant_actor;
}
Struct ultramarine::local_actor
template <typename Derived, std::size_t ConcurrencyLimit = std::numeric_limits<std::size_t>::max()>
struct local_actor
{
static_assert(ConcurrencyLimit>0, "Local actor concurrency limit must be a positive integer");
};
Actor attribute base class that specify that the Derived actor should be treated as a local actor
Requires: Type Derived
shall inherit from ultramarine::actor
Template parameters
Derived
- The derivedultramarine::actor
class for CRTP purposesConcurrencyLimit
- Optional. The limit of concurrent local activations for this actor
Struct ultramarine::non_reentrant_actor
template <typename Derived>
struct non_reentrant_actor
{
};
Actor attribute base class that specify that the Derived actor should be protected against reentrancy
Requires: Type Derived
shall inherit from ultramarine::actor
Template parameters
Derived
- The derived actor class for CRTP purposes