Iros
Loading...
Searching...
No Matches
status_code_erasable_into.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/meta/core.h
"
4
#include "
di/meta/language.h
"
5
#include "
di/vocab/error/meta/status_code_domain_value.h
"
6
#include "
di/vocab/error/status_code_storage.h
"
7
8
namespace
di::concepts
{
9
namespace
detail
{
10
template
<
typename
From,
typename
To>
11
concept
StatusCodeErasableIntoHelper
=
12
(!
LanguageVoid<From>
&& !
LanguageVoid<To>
&&
TriviallyRelocatable<meta::StatusCodeDomainValue<From>
> &&
13
TriviallyRelocatable<meta::StatusCodeDomainValue<To>
> &&
14
sizeof
(
vocab::detail::StatusCodeStorage<From>
) <=
sizeof
(
vocab::detail::StatusCodeStorage<To>
));
15
}
16
17
template
<
typename
From,
typename
To>
18
concept
StatusCodeErasableInto
=
detail::StatusCodeErasableIntoHelper<meta::RemoveCVRef<From>
,
meta::RemoveCVRef<To>
>;
19
}
di::vocab::detail::StatusCodeStorage
Definition
status_code_storage.h:13
di::concepts::LanguageVoid
Definition
core.h:128
di::concepts::StatusCodeErasableInto
Definition
status_code_erasable_into.h:18
di::concepts::TriviallyRelocatable
Definition
trivial.h:61
di::concepts::detail::StatusCodeErasableIntoHelper
Definition
status_code_erasable_into.h:11
core.h
language.h
di::concepts::detail
Definition
impl.h:7
di::concepts
Definition
any_storable.h:9
di::meta::RemoveCVRef
RemoveCV< RemoveReference< T > > RemoveCVRef
Definition
core.h:74
status_code_domain_value.h
status_code_storage.h
libs
di
include
di
vocab
error
concepts
status_code_erasable_into.h
Generated by
1.13.0