kokkos-execution
0.0.1
Toggle main menu visibility
Loading...
Searching...
No Matches
optional_ref.hpp
Go to the documentation of this file.
1
#ifndef KOKKOS_EXECUTION_IMPL_OPTIONAL_REF_HPP
2
#define KOKKOS_EXECUTION_IMPL_OPTIONAL_REF_HPP
3
4
#include "Kokkos_Assert.hpp"
5
6
namespace
Kokkos::Execution::Impl
{
7
13
template
<
typename
T>
14
struct
OptionalRef
{
15
T*
m_ptr
=
nullptr
;
16
17
OptionalRef
() =
default
;
18
19
explicit
constexpr
OptionalRef
(T& value) noexcept
20
:
m_ptr
(std::addressof(value)) {
21
}
22
23
explicit
constexpr
OptionalRef
(T&&) =
delete
;
24
25
[[nodiscard]]
26
constexpr
bool
has_value
() const noexcept {
27
return
m_ptr
!=
nullptr
;
28
}
29
30
[[nodiscard]]
31
constexpr
T&
get
() const noexcept {
32
KOKKOS_EXPECTS(
has_value
());
33
return
*
m_ptr
;
34
}
35
};
36
37
}
// namespace Kokkos::Execution::Impl
38
39
#endif
// KOKKOS_EXECUTION_IMPL_OPTIONAL_REF_HPP
Kokkos::Execution::Impl
Definition
attributes.hpp:6
Kokkos::Execution::Impl::OptionalRef::OptionalRef
constexpr OptionalRef(T &value) noexcept
Definition
optional_ref.hpp:19
Kokkos::Execution::Impl::OptionalRef::OptionalRef
OptionalRef()=default
Kokkos::Execution::Impl::OptionalRef::get
constexpr T & get() const noexcept
Definition
optional_ref.hpp:31
Kokkos::Execution::Impl::OptionalRef< const Event< Exec > >::m_ptr
const Event< Exec > * m_ptr
Definition
optional_ref.hpp:15
Kokkos::Execution::Impl::OptionalRef::OptionalRef
constexpr OptionalRef(T &&)=delete
Kokkos::Execution::Impl::OptionalRef::has_value
constexpr bool has_value() const noexcept
Definition
optional_ref.hpp:26
kokkos-execution
impl
optional_ref.hpp
Generated on
for kokkos-execution by
1.18.0