Static Public Attributes | Static Private Member Functions | Friends | List of all members
ecl::lite::GlobalSlots< Data, Dummy > Class Template Reference

This is the global slot interface. More...

#include <managers.hpp>

Static Public Attributes

static const unsigned int capacity
 Number of global functions of this type that can be slotted. More...
 

Static Private Member Functions

static sigslots::GlobalSlot< Data > * addSlot (void(*func)(Data))
 Add a slot. More...
 
static unsigned int stored (const bool increment=false)
 Number of slots currently stored. More...
 

Friends

template<typename Data_ , unsigned int Capacity_>
sigslots::Error connect (Signal< Data_, Capacity_ > &signal, void(*function)(Data_))
 
template<typename Data_ >
unsigned int global_slots_stored ()
 

Detailed Description

template<typename Data, typename Dummy = int>
class ecl::lite::GlobalSlots< Data, Dummy >

This is the global slot interface.

You'll need to preconfigure the capacity for this slot interface. Note that the capacity corresponds to the number of global functions with the specified footprint (Data arg), not the total number of slottable global functions overall.

// reserve the number of global slots that you'll use.
template<>
void f(const char* str) {
std::cout << "f() " << str << std::endl;
}
void g(const char* str) {
std::cout << "g() " << str << std::endl;
}
int main() {
connect(signal,f);
connect(signal,g);
signal.emit("Dude");
Template Parameters
Data: the footprint for the type of global functions to slot.
Dummy: dummy argument to enable capacity to be a const expr for array bounds

Definition at line 191 of file managers.hpp.

Member Function Documentation

◆ addSlot()

template<typename Data , typename Dummy = int>
static sigslots::GlobalSlot<Data>* ecl::lite::GlobalSlots< Data, Dummy >::addSlot ( void(*)(Data)  func)
inlinestaticprivate

Add a slot.

This is used 'under the hood' by the connectors.

Parameters
func: the function to slot.
Returns
GlobalSlot* : a pointer to a global slot.

Definition at line 231 of file managers.hpp.

◆ stored()

template<typename Data , typename Dummy = int>
static unsigned int ecl::lite::GlobalSlots< Data, Dummy >::stored ( const bool  increment = false)
inlinestaticprivate

Number of slots currently stored.

This is used for two purposes, 1) for recall and 2) to increment since it holds a static variable internally. This is triggered by the boolean argument which has a default value that can be hidden when doing 1).

Parameters
increment: increment the storage value (called from addSlot)
Returns
: number of slots currently stored.

Definition at line 218 of file managers.hpp.

Friends And Related Function Documentation

◆ connect

template<typename Data , typename Dummy = int>
template<typename Data_ , unsigned int Capacity_>
sigslots::Error connect ( Signal< Data_, Capacity_ > &  signal,
void(*)(Data_)  function 
)
friend

◆ global_slots_stored

template<typename Data , typename Dummy = int>
template<typename Data_ >
unsigned int global_slots_stored ( )
friend

Definition at line 29 of file utilities.hpp.

Member Data Documentation

◆ capacity

template<typename Data , typename Dummy = int>
const unsigned int ecl::lite::GlobalSlots< Data, Dummy >::capacity
static

Number of global functions of this type that can be slotted.

Definition at line 193 of file managers.hpp.


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


ecl_sigslots_lite
Author(s): Daniel Stonier
autogenerated on Mon Feb 28 2022 22:16:12