CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
slimsig.h
Go to the documentation of this file.
1
56#ifndef slimsignals_h
57#define slimsignals_h
58
59#include "detail/signal_base.h"
60
61namespace slimsig {
62 template <class Handler, class SignalTraits = signal_traits<Handler>, class Allocator = std::allocator<std::function<Handler>>>
63 class signal : private signal_base<SignalTraits, Allocator, Handler> {
64 public:
66 using typename base::return_type;
67 using typename base::callback;
68 using typename base::allocator_type;
69 using typename base::slot;
70 using typename base::slot_list;
71 using typename base::list_allocator_type;
72 using typename base::const_slot_reference;
73 using typename base::Connection;
74 using base::arity;
75 using base::argument;
76 // allocator constructor
77 using base::base;
78
79 // default constructor
80 signal() : signal(allocator_type()) {};
81 using base::emit;
82 using base::connect;
83 using base::connect_once;
84 using base::connect_extended;
85 using base::disconnect_all;
86 using base::slot_count;
87 using base::get_allocator;
88 using base::empty;
89 using base::swap;
90 using base::max_size;
91 using base::max_depth;
92 using base::get_depth;
93 using base::is_running;
94 using base::remaining_slots;
95
96 };
97 template <
98 class Handler,
99 class SignalTraits = signal_traits<Handler>,
100 class Allocator = std::allocator<std::function<Handler>>
102
103}
104#endif