kokkos-execution
0.0.1
Toggle main menu visibility
Loading...
Searching...
No Matches
throws_when_copied.hpp
Go to the documentation of this file.
1
#ifndef KOKKOS_EXECUTION_TESTS_UTILS_FUNCTORS_THROWS_WHEN_COPIED_HPP
2
#define KOKKOS_EXECUTION_TESTS_UTILS_FUNCTORS_THROWS_WHEN_COPIED_HPP
3
4
#include "
kokkos-execution/stdexec.hpp
"
5
6
#include "Kokkos_Macros.hpp"
7
#ifdef KOKKOS_ENABLE_EXPERIMENTAL_CXX20_MODULES
8
import
kokkos.core;
9
#else
10
# include "Kokkos_Core.hpp"
11
#endif
12
13
namespace
Tests::Utils::Functors
{
14
20
template
<stdexec::sender Sndr>
21
struct
MutableMoveToSyncWait
{
22
mutable
Sndr
sndr
;
23
24
void
operator()
()
const
{
25
stdexec::sync_wait(std::move(
sndr
));
26
}
27
};
28
35
struct
ThrowsWhenCopied
{
36
ThrowsWhenCopied
() =
default
;
37
ThrowsWhenCopied
&
operator=
(
const
ThrowsWhenCopied
&) =
default
;
38
ThrowsWhenCopied
(
ThrowsWhenCopied
&&) =
default
;
39
ThrowsWhenCopied
&
operator=
(
ThrowsWhenCopied
&&) =
default
;
40
~ThrowsWhenCopied
() =
default
;
41
42
#if defined(__cpp_constexpr_exceptions)
43
constexpr
44
#endif
45
ThrowsWhenCopied
(
const
ThrowsWhenCopied
&) {
46
throw
std::runtime_error(
"ThrowsWhenCopied: Throwing in copy constructor!"
);
47
}
48
49
KOKKOS_FUNCTION
50
void
operator()
()
const
{
51
Kokkos::abort(
"ThrowsWhenCopied: This is not intended to be called!"
);
52
}
53
};
54
55
}
// namespace Tests::Utils::Functors
56
57
#endif
// KOKKOS_EXECUTION_TESTS_UTILS_FUNCTORS_THROWS_WHEN_COPIED_HPP
stdexec.hpp
Tests::Utils::Functors
Definition
counter.hpp:11
Tests::Utils::Functors::MutableMoveToSyncWait
Definition
throws_when_copied.hpp:21
Tests::Utils::Functors::MutableMoveToSyncWait::sndr
Sndr sndr
Definition
throws_when_copied.hpp:22
Tests::Utils::Functors::MutableMoveToSyncWait::operator()
void operator()() const
Definition
throws_when_copied.hpp:24
Tests::Utils::Functors::ThrowsWhenCopied::operator=
ThrowsWhenCopied & operator=(const ThrowsWhenCopied &)=default
Tests::Utils::Functors::ThrowsWhenCopied::operator=
ThrowsWhenCopied & operator=(ThrowsWhenCopied &&)=default
Tests::Utils::Functors::ThrowsWhenCopied::~ThrowsWhenCopied
~ThrowsWhenCopied()=default
Tests::Utils::Functors::ThrowsWhenCopied::ThrowsWhenCopied
ThrowsWhenCopied(ThrowsWhenCopied &&)=default
Tests::Utils::Functors::ThrowsWhenCopied::ThrowsWhenCopied
ThrowsWhenCopied()=default
Tests::Utils::Functors::ThrowsWhenCopied::ThrowsWhenCopied
ThrowsWhenCopied(const ThrowsWhenCopied &)
Definition
throws_when_copied.hpp:45
Tests::Utils::Functors::ThrowsWhenCopied::operator()
void operator()() const
Definition
throws_when_copied.hpp:50
tests
utils
functors
throws_when_copied.hpp
Generated on
for kokkos-execution by
1.18.0