VCCC  2024.05
VisualCamp Common C++ library
grouped_slot_list< Group, Slot > Struct Template Reference

#include <vccc/__signal/slot_group.h>

Public Types

using group_type = Group
 
using group_key_type = group_key< group_type >
 
using group_key_compare_type = group_key_compare< group_type >
 
using slot_type = Slot
 
using slot_ptr_type = std::shared_ptr< slot_type >
 
using list = std::list< slot_ptr_type >
 
using list_iterator = typename list::iterator
 
using map = std::map< group_key_type, list_iterator, group_key_compare_type >
 
using map_iterator = typename map::iterator
 
using map_const_iterator = typename map::const_iterator
 
using weak_slot_ptr_type = std::weak_ptr< slot_type >
 
using iterator = list_iterator
 
using const_iterator = typename list::const_iterator
 
using insert_token = std::pair< map_iterator, list_iterator >
 
using weak_slot = std::pair< weak_slot_ptr_type, insert_token >
 
using weak_slot_list = std::vector< weak_slot >
 

Public Member Functions

 grouped_slot_list ()
 
weak_slot insert (group_type group, slot_ptr_type slot, slot_position pos=at_back)
 
weak_slot insert (slot_ptr_type slot, slot_position pos=at_back)
 
weak_slot insert_back (group_key_type group, slot_ptr_type slot)
 
weak_slot insert_front (group_key_type group, slot_ptr_type slot)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
auto size () const
 
void remove (const insert_token &conn)
 
void remove_group (const group_key_type &group_key)
 
void remove_all ()
 
weak_slot getWeakSlot (map_iterator group, list_iterator index) const
 
weak_slot_list getWeakList () const
 

Member Typedef Documentation

◆ const_iterator

using const_iterator = typename list::const_iterator

◆ group_key_compare_type

◆ group_key_type

◆ group_type

using group_type = Group

◆ insert_token

◆ iterator

◆ list

using list = std::list<slot_ptr_type>

◆ list_iterator

using list_iterator = typename list::iterator

◆ map

◆ map_const_iterator

using map_const_iterator = typename map::const_iterator

◆ map_iterator

using map_iterator = typename map::iterator

◆ slot_ptr_type

using slot_ptr_type = std::shared_ptr<slot_type>

◆ slot_type

using slot_type = Slot

◆ weak_slot

◆ weak_slot_list

using weak_slot_list = std::vector<weak_slot>

◆ weak_slot_ptr_type

using weak_slot_ptr_type = std::weak_ptr<slot_type>

Constructor & Destructor Documentation

◆ grouped_slot_list()

grouped_slot_list ( )
inline

Member Function Documentation

◆ begin() [1/2]

iterator begin ( )
inline

◆ begin() [2/2]

const_iterator begin ( ) const
inline

◆ end() [1/2]

iterator end ( )
inline

◆ end() [2/2]

const_iterator end ( ) const
inline

◆ getWeakList()

weak_slot_list getWeakList ( ) const
inline

◆ getWeakSlot()

weak_slot getWeakSlot ( map_iterator  group,
list_iterator  index 
) const
inline

◆ insert() [1/2]

weak_slot insert ( group_type  group,
slot_ptr_type  slot,
slot_position  pos = at_back 
)
inline

◆ insert() [2/2]

weak_slot insert ( slot_ptr_type  slot,
slot_position  pos = at_back 
)
inline

◆ insert_back()

weak_slot insert_back ( group_key_type  group,
slot_ptr_type  slot 
)
inline

◆ insert_front()

weak_slot insert_front ( group_key_type  group,
slot_ptr_type  slot 
)
inline

◆ remove()

void remove ( const insert_token conn)
inline

◆ remove_all()

void remove_all ( )
inline

◆ remove_group()

void remove_group ( const group_key_type group_key)
inline

◆ size()

auto size ( ) const
inline

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