LeechCraft
0.6.70-17609-g3dde4097dd
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
finalsuspender.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <coroutine>
12
13
namespace
LC::Util::detail
14
{
15
template
<
typename
Promise>
16
struct
FinalSuspender
17
{
18
Promise&
Promise_
;
19
20
bool
await_ready
() const noexcept {
return
false
; }
21
22
void
await_suspend
(std::coroutine_handle<>)
noexcept
23
{
24
for
(
auto
h :
Promise_
.WaitingHandles_)
25
h ();
26
27
Promise_
.DecRef ();
28
}
29
30
void
await_resume
() const noexcept {}
31
};
32
}
LC::Util::detail
Definition
fancytrayiconfreedesktop.cpp:24
LC::Util::detail::FinalSuspender
Definition
finalsuspender.h:17
LC::Util::detail::FinalSuspender::await_resume
void await_resume() const noexcept
Definition
finalsuspender.h:30
LC::Util::detail::FinalSuspender::Promise_
Promise & Promise_
Definition
finalsuspender.h:18
LC::Util::detail::FinalSuspender::await_suspend
void await_suspend(std::coroutine_handle<>) noexcept
Definition
finalsuspender.h:22
LC::Util::detail::FinalSuspender::await_ready
bool await_ready() const noexcept
Definition
finalsuspender.h:20
src
util
threads
coro
finalsuspender.h
Generated by
1.13.2