Iros
Loading...
Searching...
No Matches
stoppable_token.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/meta/compare.h
"
4
#include "
di/meta/operations.h
"
5
6
namespace
di::concepts
{
7
namespace
detail
{
8
template
<
template
<
typename
>
typename
>
9
struct
CheckTypeAliasExists
;
10
}
11
12
template
<
typename
T>
13
concept
StoppableToken
=
CopyConstructible<T>
&&
MoveConstructible<T>
&&
requires
(T
const
& token) {
14
{ token.stop_requested() } ->
BooleanTestable
;
15
{ token.stop_possible() } ->
BooleanTestable
;
16
typename
detail::CheckTypeAliasExists<T::template CallbackType>
;
17
};
18
}
di::concepts::BooleanTestable
Definition
operations.h:128
di::concepts::CopyConstructible
Definition
operations.h:34
di::concepts::MoveConstructible
Definition
operations.h:43
di::concepts::StoppableToken
Definition
stoppable_token.h:13
operations.h
compare.h
di::concepts::detail
Definition
impl.h:7
di::concepts
Definition
any_storable.h:9
di::concepts::detail::CheckTypeAliasExists
Definition
stoppable_token.h:9
libs
di
include
di
sync
concepts
stoppable_token.h
Generated by
1.13.0