sgns::subscription::SubscriptionEngine¶
#include <subscription_engine.hpp>
Inherits from std::enable_shared_from_this< SubscriptionEngine< Key, Type, Arguments... > >
Public Types¶
| Name | |
|---|---|
| using Key | KeyType |
| using Type | ValueType |
| using Subscriber< KeyType, ValueType, Arguments... > | SubscriberType |
| using std::shared_ptr< SubscriberType > | SubscriberPtr |
| using std::weak_ptr< SubscriberType > | SubscriberWPtr |
| using std::list< SubscriberWPtr > | SubscribersContainer |
| using typename SubscribersContainer::iterator | IteratorType |
Public Functions¶
| Name | |
|---|---|
| SubscriptionEngine() =default | |
| ~SubscriptionEngine() =default | |
| SubscriptionEngine(SubscriptionEngine && ) =default | |
| SubscriptionEngine & | operator=(SubscriptionEngine && ) =default |
| SubscriptionEngine(const SubscriptionEngine & ) =delete | |
| SubscriptionEngine & | operator=(const SubscriptionEngine & ) =delete |
| size_t | size(const KeyType & key) const |
| void | notify(const KeyType & key, const Arguments &... args) |
Friends¶
| Name | |
|---|---|
| class | Subscriber |
Detailed Description¶
template <typename Key ,
typename Type ,
typename... Arguments>
class sgns::subscription::SubscriptionEngine;
Public Types Documentation¶
using KeyType¶
using ValueType¶
using SubscriberType¶
using sgns::subscription::SubscriptionEngine< Key, Type, Arguments >::SubscriberType = Subscriber<KeyType, ValueType, Arguments...>;
using SubscriberPtr¶
using sgns::subscription::SubscriptionEngine< Key, Type, Arguments >::SubscriberPtr = std::shared_ptr<SubscriberType>;
using SubscriberWPtr¶
using sgns::subscription::SubscriptionEngine< Key, Type, Arguments >::SubscriberWPtr = std::weak_ptr<SubscriberType>;
using SubscribersContainer¶
using sgns::subscription::SubscriptionEngine< Key, Type, Arguments >::SubscribersContainer = std::list<SubscriberWPtr>;
List is preferable here because this container iterators remain alive after removal from the middle of the container TODO(iceseer): PRE-476 remove processor cache penalty, while iterating, using custom allocator
using IteratorType¶
using sgns::subscription::SubscriptionEngine< Key, Type, Arguments >::IteratorType = typename SubscribersContainer::iterator;
Public Functions Documentation¶
function SubscriptionEngine¶
function ~SubscriptionEngine¶
function SubscriptionEngine¶
function operator=¶
function SubscriptionEngine¶
function operator=¶
function size¶
function notify¶
Friends¶
friend Subscriber¶
Updated on 2026-03-04 at 13:10:44 -0800