mqtt_cpp
Public Types | Public Member Functions | List of all members
single_subscription_map< Value > Class Template Reference

#include <subscription_map.hpp>

Inheritance diagram for single_subscription_map< Value >:
Inheritance graph
[legend]
Collaboration diagram for single_subscription_map< Value >:
Collaboration graph
[legend]

Public Types

using handle = typename subscription_map_base< Value >::handle
 
- Public Types inherited from subscription_map_base< optional< Value > >
using node_id_t = std::size_t
 
using path_entry_key = std::pair< node_id_t, buffer >
 
using handle = path_entry_key
 

Public Member Functions

template<typename V >
std::pair< handle, bool > insert (string_view topic_filter, V &&value)
 
template<typename V >
void update (string_view topic_filter, V &&value)
 
template<typename V >
void update (handle const &h, V &&value)
 
std::size_t erase (string_view topic_filter)
 
std::size_t erase (handle const &h)
 
template<typename Output >
void find (string_view topic, Output &&callback) const
 
- Public Member Functions inherited from subscription_map_base< optional< Value > >
std::size_t internal_size () const
 
std::size_t size () const
 
optional< handlelookup (string_view topic_filter)
 
std::string handle_to_topic_filter (handle const &h) const
 

Additional Inherited Members

- Protected Member Functions inherited from subscription_map_base< optional< Value > >
map_type_iterator get_root ()
 
map_type_const_iterator get_root () const
 
map_type_iterator get_key (path_entry_key key)
 
map_type_iterator begin ()
 
map_type_iterator end ()
 
map_type const & get_map () const
 
handle path_to_handle (std::vector< map_type_iterator > const &path) const
 
std::vector< map_type_iterator > find_topic_filter (string_view topic_filter)
 
std::vector< map_type_iterator > create_topic_filter (string_view topic_filter)
 
void remove_topic_filter (std::vector< map_type_iterator > const &path)
 
void find_match (string_view topic, Output &&callback) const
 
void modify_match (string_view topic, Output &&callback)
 
std::vector< map_type_iterator > handle_to_iterators (handle const &h)
 
void increase_subscriptions (handle const &h)
 
void increase_subscriptions (std::vector< map_type_iterator > const &path)
 
void increase_map_size ()
 
void decrease_map_size ()
 
 subscription_map_base ()
 
- Static Protected Member Functions inherited from subscription_map_base< optional< Value > >
static void find_match_impl (ThisType &self, string_view topic, Output &&callback)
 
static void handle_to_iterators (ThisType &self, handle const &h, Output &&output)
 
static void throw_invalid_topic_filter ()
 
static void throw_invalid_handle ()
 
static void throw_max_stored_topics ()
 
- Protected Attributes inherited from subscription_map_base< optional< Value > >
path_entry_key root_key
 
node_id_t root_node_id
 
size_t map_size
 

Member Typedef Documentation

◆ handle

template<typename Value >
using single_subscription_map< Value >::handle = typename subscription_map_base< Value >::handle

Member Function Documentation

◆ erase() [1/2]

template<typename Value >
std::size_t single_subscription_map< Value >::erase ( handle const &  h)
inline

◆ erase() [2/2]

template<typename Value >
std::size_t single_subscription_map< Value >::erase ( string_view  topic_filter)
inline

◆ find()

template<typename Value >
template<typename Output >
void single_subscription_map< Value >::find ( string_view  topic,
Output &&  callback 
) const
inline

◆ insert()

template<typename Value >
template<typename V >
std::pair<handle, bool> single_subscription_map< Value >::insert ( string_view  topic_filter,
V &&  value 
)
inline

◆ update() [1/2]

template<typename Value >
template<typename V >
void single_subscription_map< Value >::update ( handle const &  h,
V &&  value 
)
inline

◆ update() [2/2]

template<typename Value >
template<typename V >
void single_subscription_map< Value >::update ( string_view  topic_filter,
V &&  value 
)
inline

The documentation for this class was generated from the following file: