void on_click ( int value ) { } class A { public : void on_class_click ( int value ) { } } ; int main ( ) { // Сигнал с сигнатурой функции в шаблонном параметре ktsignal :: ktsignal click { } ; // Подключение обычной функции click . connect ( on_click ) ; // Подключение member function A object ; click . connect ( & object , & A :: on_class_click ) ; // Подключение лямбда функции click . connect ( [ ] ( int ) { } ) ; // Вызов коллбэков click . emit ( 1 ) ; }
auto connection = click . connect ( on_click ) ; // Подключение лямбда функции click . connect ( [ ] ( int ) { } ) ; // Вызов сигнала (on_click и lambda будут вызваны) click . emit ( 1 ) ; // Отключение on_click коллбэка от сигнала connection . disconnect ( ) ; // Только лямбда будет вызвана click . emit ( 1 ) ;
ktsignal_connection
ktsignal_threadsafe
void func_thread ( int v ) { std :: cout signal { } ; signal . connect ( func_thread ) ; // Создание потока который сразу же вызовет emit std :: thread ( [ & signal ] ( ) { // Создание потока который вызовет emit спустя 100мс std :: thread ( [ & signal ] ( ) { std :: this_thread :: sleep_for ( 100 ms ) ; signal . emit ( 1 ) ; } ) . detach ( ) ; signal . emit ( 2 ) ; } ) . join ( ) ; std :: this_thread :: sleep_for ( 1.5 s ) ; }
Вывод: [func_thread] - before sleep [func_thread] - before sleep [func_thread] - after sleep [func_thread] - after sleep
Вывод: [func_thread] - before sleep [func_thread] - after sleep [func_thread] - before sleep [func_thread] - after sleep
Продавец: ник или ID
Название сделки:
Сумма USDT:
Срок сделки, дней:
Кто платит комиссию:
Условия сделки:
После создания сделки средства будут зарезервированы в холде до завершения сделки.